0

我在 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;
}
4

2 回答 2

1

你错误的解释-sizeToFit方法。此方法会导致将UITextField您的框架更改为包含内部的所有文本。我的意思是,在您调用此方法后,您的文本字段将与里面的文本大小相同(没有滚动的文本)。

尝试使用-setAutoresizingMaskon UITextFieldand setUI...FlexibleWidthUI...FlexibleHeightand set [field setFrame:cell.bounds]

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

于 2013-09-20T21:57:05.210 回答
0

使用 setFrame 之类的属性并提供 cell.bounds 之类的值。如下

[txtFiled setFrame : cell.bounds];
于 2013-09-21T05:22:36.463 回答