iOS - UITableView节标题部分的分组表

时间:2012-01-28 04:47:27

标签: ios cocoa-touch uitableview header sectionheader

我想在编辑模式下为我的tableview添加一个节标题。基本上我只是想让它成为数据源的一部分,使其具有与表格其余部分相同的外观(参见下图中的想要结果)。但是,当在编辑模式中切换时,将对象(“添加联系人”)插入到数据源会导致很多微管理,并且它实际上不是数据源的一部分,而是更像是标题。

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

任何人都有任何关于我缺少的线索吗?

- (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;
    }

}

enter image description here

1 个答案:

答案 0 :(得分:0)

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

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

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

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