将UITextField放在UITableViewCell的AccessoryView中

时间:2012-12-03 12:58:56

标签: objective-c uitableview uitextfield subview accessoryview

我正在尝试将UITextField放入UITableViewCell

现在我有两种工作方法。

使用addSubview方法:

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"textFieldCell"];

UITextField *textFieldView = [[UITextField alloc] initWithFrame:CGRectMake(150, 7, 150, 30)];
[textFieldView setPlaceholder:@"Placeholder"];

[cell addSubview:textFieldView];

使用setAccessoryView方法:

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"textFieldCell"];

UITextField *textFieldView = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 150, 30)];
[textFieldView setPlaceholder:@"Placeholder"];

[cell setAccessoryView:textFieldView];

在我看来,setAccessoryView结果更好看,因为对齐是自动完成的。

但我的问题是:将UITextField置于AccessoryView内是否可以?或者我有理由不这样做吗?

2 个答案:

答案 0 :(得分:1)

我不认为这是受限制的。但是,accessoryView在设计中扮演了一个角色:显示该单元格具有交互选项 如果你想以正确的方式进行,你应该在cell.contentView中附加UIView。

答案 1 :(得分:0)

apple对它没有任何限制,但主要意图是在accessoryView类中添加UITableViewCell属性,通常作为控件使用在单元格的右侧(正常)状态)。

从苹果document获取的句子:

如果此属性的值不是nil,则UITableViewCell类在表视图的正常(默认)enter code here状态下使用给定视图作为附件视图;它忽略了accessoryType属性的值。 提供的附件视图可以是框架提供的控件或标签或自定义视图。附件视图显示在单元格的右侧。

根据此声明,您可以UITextField(框架提供的控件)提供accessoryView