请参阅特定UITableViewCell中的特定UITextField

时间:2013-05-13 09:47:13

标签: ios objective-c uitableview uitextfield

我以编程方式创建了UITableView,并且我编写了代码,以编程方式在每个单元格上创建UITextField

当用户点击文本字段时,会出现一个选择器,用户可以从选择器中选择一个项目,选择后,选择应该显示在该特定单元格的文本字段中。

现在我面临的问题是,每当我点击任何表格视图单元格中的文本字段时,选择器都会正确显示,但是从选择器中拾取一个项目后,该值将存储在文本字段中最后一个表视图单元格。为什么会这样?

有人可以向我解释如何引用特定的文本字段,以便我可以对该特定文本字段执行某些操作吗?

1 个答案:

答案 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;
}

完成此操作后,您的文本字段现在会链接到它所在的单元格,因此您可以从单元格中获取文本视图并设置其值。