在UITableViewCell中自动调整UITextField

时间:2013-09-20 21:52:13

标签: iphone ios ipad uitableview uitextfield

我在UITableViewCell中有一个UITextField来创建一个表单。 我想UITextField会自动调整UITableViewCell的大小(在iPhone和iPad上,纵向和横向)。但它的宽度只有9个。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [[UITableViewCell alloc] init];
    UITextField *field = [[UITextField alloc] init];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.accessoryView = field;
    [field sizeToFit];
    return cell;
}

2 个答案:

答案 0 :(得分:1)

您错误地解释了-sizeToFit方法。此方法会导致UITextField更改您的框架以包含其中的所有文本。我的意思是,在你调用这个方法之后,你的文本字段将与文本内部相同(textfied without scrolls)。

尝试在-setAutoresizingMask上使用UITextField并设置UI...FlexibleWidthUI...FlexibleHeight并设置[field setFrame:cell.bounds]

请阅读关于如何从Nib创建单元格的stackoverflow上的apple文档和其他主题。这非常有用。

答案 1 :(得分:0)

使用像setFrame这样的属性并赋予像cell.bounds这样的值。 如下

[txtFiled setFrame : cell.bounds];