我在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;
}
答案 0 :(得分:1)
您错误地解释了-sizeToFit
方法。此方法会导致UITextField
更改您的框架以包含其中的所有文本。我的意思是,在你调用这个方法之后,你的文本字段将与文本内部相同(textfied without scrolls)。
尝试在-setAutoresizingMask
上使用UITextField
并设置UI...FlexibleWidth
和UI...FlexibleHeight
并设置[field setFrame:cell.bounds]
。
请阅读关于如何从Nib创建单元格的stackoverflow上的apple文档和其他主题。这非常有用。
答案 1 :(得分:0)
使用像setFrame这样的属性并赋予像cell.bounds这样的值。 如下
[txtFiled setFrame : cell.bounds];