使用 UITextField 在 tableView 中显示 100 个自定义单元格

Posted

技术标签:

【中文标题】使用 UITextField 在 tableView 中显示 100 个自定义单元格【英文标题】:100 custom cells displayed in tableView with UITextField 【发布时间】:2011-11-10 11:22:28 【问题描述】:

我有一个自定义单元格,我在表格视图中显示了该自定义单元格,方法是 numberOfRowsInSection return 100

但是当我编辑textfield 之一时,它也会反映其他文本字段中的更改。 这是我的 cellForROwAtIndexPath 代码

NSString *CellIdentifier = @"viewAllProductsGridCell";

ViewAllProductsGridCell *cell = (ViewAllProductsGridCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell == nil) 
    [[NSBundle mainBundle] loadNibNamed:@"ViewAllProductsGridCell" owner:self options:nil];

    cell = gridCell;    


请告诉我如何为每个单元格创建多个实例

【问题讨论】:

方法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath的邮政编码 【参考方案1】:

您的所有行似乎都使用相同的单元格实例。 您必须为每一行创建一个单独的单元格实例。

更新:

我通常对多个自定义单元格执行以下操作:

在项目中添加一个空的 nib 文件 将文件的所有者设置为 UIViewController 将 UITableViewCell 拖放到笔尖空间 将 File 的 Owner 视图属性与 UITableViewCell 实例连接 不要忘记将 UITableViewCell 属性中的 ReuseID 设置为 预定义的值(如 textFieldCell) 根据需要通过更改单元格的属性来自定义单元格 或向其添加控件 如果您需要对自定义单元进行复杂的控制,请创建一个 项目中 UITableViewCell 的子类并添加声明所有 您需要的 IBOutlets 或 IBActions;不要忘记更改 nib 中单元格的类属性到 MyTextFieldCell

完成自定义后,您可以使用以下代码:

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    static NSString *cellID = @"textFieldCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];

    if (cell == nil) 
        UIViewController *theController = [[UIViewController alloc] initWithNibName:@"TextFieldCell" bundle:nil];
        cell = (MyTextFieldCell *)[[theController.view retain] autorelease];
        [theController release];

        NSLog(@"Cell created %@", cell);
    

    return cell;

【讨论】:

以上是关于使用 UITextField 在 tableView 中显示 100 个自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章

使用未声明类型的 UITextfield

在 iOS 中使用 UITextField 条目作为数组

使用 addSubview 动态添加 UITextField 的 UITableViewCell - 如何在键盘上“返回”时获取 UITextField 值

如何在 UITextField 子类中设置 UITextField 的属性

在 UITextField 上使用“下一个”版本的 Return 按钮移动到下一个 UITextField 的最佳方式

在ios中使用标签动态生成和访问UITextField