我有一个分组的tableview。每个部分有三行。我需要一次删除一个部分。使用标准编辑模式,我可以使它工作。但是,删除图标显示在每个单元格的左侧,而不仅仅是每个部分的第一行。
有没有办法可以抑制除第一个以外的所有行的小微调器图标?
我希望在没有子类化的情况下有一种简单的方法可以做到这一点。
以下是帮助可视化它的屏幕截图:http://picasaweb.google.com/lh/photo/ll-EJY5ACw7oqHH1xKBQ8w?feat=directlink
答案 0 :(得分:1)
试试这个:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row == 0) {
return UITableViewCellEditingStyleDelete;
} else {
return UITableViewCellEditingStyleNone;
}
}
答案 1 :(得分:0)
不要删除行,而是将包含UIView
和自定义UILabel
的父UIButton
作为子视图。将此父视图设置为section header view。
应该连接按钮以触发删除行的方法,例如,为该部分翻转BOOL
状态标志,然后重新加载表:
- (void) deleteMySection:(id)sender {
self.showMySection = NO;
[tableView reloadData];
}
您的-numberOfSectionsInTableView:
委托方法将根据此布尔标志的状态相应地调整其输出,例如
- (NSInteger) numberOfSectionsInTableView:(UITableView *)tv {
return ((showMySection) ? numberOfSections : numberOfSections - 1);
}