0

当它处于编辑模式时,我想在我的表视图中添加一个节标题。基本上我只是希望它成为数据源的一部分,以与表的其余部分具有相同的外观(请参阅下图以获得所需的结果)。但是在数据源中插入一个对象(“添加联系人”)会导致在从编辑模式切换进出时进行大量的微观管理,它实际上不是数据源的一部分,它更像是一个标题。

我尝试使用以下代码片段来实现相同的效果,但结果并不正确(只是将添加联系人文本添加到该部分的顶部,但不是作为分组表格单元格的一部分)。

有人对我缺少什么有任何线索吗?

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)];

    if (section == 1) {

        UITableViewCell *addContactCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

        addContactCell.textLabel.text = @"Add Contact";
        addContactCell.textLabel.opaque = NO;

        return addContactCell;

    } else {

        return nil;
    }

}

在此处输入图像描述

4

1 回答 1

0

您不需要将“添加联系人”行添加到数据源。你只需要躺在你的 numberOfRowsInSection 和 cellForIndexPath: 方法中。

tableView:numberOfRowsInSection:需要返回行数+1。

tableView:cellForIndexPath:如果行号为 0,则返回插入单元格,否则返回 indexPath.row - 1 的数据单元格。

你必须在 didSelect 等中有一些额外的东西,但不应该涉及很多微观管理。

于 2012-08-05T12:36:37.877 回答