我想在编辑模式下为我的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;
}
}
答案 0 :(得分:0)
您无需将“添加联系人”行添加到数据源。你只需要躺在你的numberOfRowsInSection和cellForIndexPath:方法中。
tableView:numberOfRowsInSection:需要返回行数+ 1。
tableView:cellForIndexPath:如果行号为0则返回插入单元格,否则返回indexPath.row - 1数据的单元格。
你必须在didSelect等中加入一些额外的东西,但不应该涉及很多微观管理。