使用 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 个自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章
使用 addSubview 动态添加 UITextField 的 UITableViewCell - 如何在键盘上“返回”时获取 UITextField 值
如何在 UITextField 子类中设置 UITextField 的属性