0

我有两种单元格,一种是标准标题-副标题单元格,另一种是带有两个 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一旦创建该单元格后如何访问该单元格中的那些。

谁能帮我?

4

1 回答 1

2

e. how to create a cell with prototype您可以按照这些教程进行操作,因为我也是从这些教程之一中学到的

教程

  1. 我提到的第一个。
  2. 第二个

并且要超出添加的文本视图,您需要为它们分配标签值(显然是不同的)。然后使用下面的代码将它们超出您的tableView:cellForRowAtIndexPath:方法。

UITextField *txtField = (UITextField *)[cell viewWithTag:8];

在这里8用您的标签值替换 :)

于 2012-10-20T07:39:24.423 回答