【问题标题】:UITextField Autoresize in UITableViewCellUITableViewCell 中的 UITextField 自动调整大小
【发布时间】:2011-07-22 18:44:28
【问题描述】:

我在 UITableView 单元格中有一个 UITextField。当我旋转设备时,文本字段的宽度仍然与纵向模式相同。我知道当我处于横向时我需要使用自动调整大小来使字段填充单元格,但我不知道如何做到这一点,因为我已经尝试过但失败了。

我该怎么做?

cell.textLabel.text = @"Email";
UITextField *field2 = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, width, 30)];
field2.adjustsFontSizeToFitWidth = YES;
field2.textColor = [UIColor blackColor];
field2.keyboardType = UIKeyboardTypeEmailAddress;
field2.returnKeyType = UIReturnKeyNext;
field2.placeholder = @"Required";
field2.tag = 3;
field2.delegate = self;
field2.autoresizingMask =  UIViewAutoresizingFlexibleWidth;
field2.backgroundColor = [UIColor blueColor];
// Finish building cell
field2.autocorrectionType = UITextAutocorrectionTypeNo;
field2.autocapitalizationType = UITextAutocapitalizationTypeNone;
field2.textAlignment = UITextAlignmentLeft;
[field2 addTarget:self action:@selector(updateFields:) forControlEvents:UIControlEventEditingChanged];
field2.text = email;
self.emailField = field2;
[cell addSubview:field2];
[field2 release];

【问题讨论】:

  • 我发现在测试/调试布局时将背景颜色设置为粉红色(或同样可怕的颜色)很有用。我只是这样做并试验这些值,看看它们是如何影响它的。您可能希望将几个值按位或在一起。 - - - 如果是我,我会在 Xcode/InterfaceBuilder 中构建它。用代码编写界面布局/设计是不可取的(自 90 年代初的 X-Windows 以来,我一直避免使用它。)
  • 我确实将背景颜色设置为蓝色以进行测试。

标签: iphone objective-c ios uitextfield


【解决方案1】:
  1. 检查您的 tableView 是否将 Auto Resize subivew 设置为 YES。
  2. 检查您是否为所有支持的旋转返回 YES。
    • (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 持续时间: (NSTimeInterval)持续时间{ }

【讨论】:

  • 谢谢,需要为我的 tableview 添加 autoresizesubviews 到 YES。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多