我以编程方式创建了UITableView
,并且我编写了代码,以编程方式在每个单元格上创建UITextField
。
当用户点击文本字段时,会出现一个选择器,用户可以从选择器中选择一个项目,选择后,选择应该显示在该特定单元格的文本字段中。
现在我面临的问题是,每当我点击任何表格视图单元格中的文本字段时,选择器都会正确显示,但是从选择器中拾取一个项目后,该值将存储在文本字段中最后一个表视图单元格。为什么会这样?
有人可以向我解释如何引用特定的文本字段,以便我可以对该特定文本字段执行某些操作吗?
答案 0 :(得分:0)
创建UITableViewCell
的子类,并将其用于单元格。添加属性以引用其文本字段:
@interface YourTableViewCell : UITableViewCell
@property (strong) UITextField *textField;
@end
然后,在创建单元格时将文本视图分配给单元格:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"cellIdentifier";
YourTableView *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = ... // Create the cell here
UITextField *textField = ... // Create your text field here
cell.textField = textField; // Assign the text field to the cell
}
return cell;
}
完成此操作后,您的文本字段现在会链接到它所在的单元格,因此您可以从单元格中获取文本视图并设置其值。