我有两种单元格,一种是标准的标题字幕单元格,另一种是带有两个UITextField的自定义单元格。它们有不同的标识符,VIEW和EDIT。
在我的代码中
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我需要创建两种单元格。在任何时候,我只有一个单元格在编辑,所以我创建了一个NSUInteger
来跟踪正在编辑的单元格。
我的代码如下所示:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell* cell;
if ( rowInEdit == indexPath.row )
{
cell = [tableView dequeueReusableCellWithIdentifier:@"EDIT"];
if ( !cell )
{
cell = [[UITableViewCell alloc]init];
}
RLSite* site = [[RLSettings settings]siteAtIndex:indexPath.row];
[[cell textLabel]setText:site.name];
[[cell detailTextLabel]setText:site.url];
}
else
{
cell = [tableView dequeueReusableCellWithIdentifier:@"VIEW"];
if ( !cell )
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"VIEW"];
}
RLSite* site = [[RLSettings settings]siteAtIndex:indexPath.row];
[[cell textLabel]setText:site.name];
[[cell detailTextLabel]setText:site.url];
}
return cell;
}
请注意,我的第一部分肯定是有缺陷的。我不知道如何使用原型创建单元格,以及如何为其分配reuseIdentifier。此外,我不知道如何在创建后访问该单元格中的UITextField
。
任何人都可以帮助我吗?
答案 0 :(得分:2)
即how to create a cell with prototype
您可以按照这些教程进行操作,因为我也从其中一个教程中学习了
教程
为了超出添加的文本视图,您需要为它们分配标记值(显然不同)。
然后使用下面的代码将它们放在tableView:cellForRowAtIndexPath:
方法旁边。
UITextField *txtField = (UITextField *)[cell viewWithTag:8];
此处将8
替换为您的代码值:)