0

我有UITableView以编程方式创建的,并且我已经编写了代码来以编程方式UITextField在每个单元格上创建一个。

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

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

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

4

1 回答 1

0

Create a subclass of UITableViewCell, and use it for cells. Add a property to reference its text field:

@interface YourTableViewCell : UITableViewCell

@property (strong) UITextField *textField;

@end

Then, assign the text view to the cell when you create it:

- (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;
}

Once you have done this, your text field is now linked to the cell it is in, so you can get the text view from the cell and set its value.

于 2013-05-13T10:00:39.367 回答