编辑模式删除特定TableView行的微调器图标

时间:2010-05-12 21:18:45

标签: iphone uitableview editmode

我有一个分组的tableview。每个部分有三行。我需要一次删除一个部分。使用标准编辑模式,我可以使它工作。但是,删除图标显示在每个单元格的左侧,而不仅仅是每个部分的第一行。

有没有办法可以抑制除第一个以外的所有行的小微调器图标?

我希望在没有子类化的情况下有一种简单的方法可以做到这一点。

以下是帮助可视化它的屏幕截图:http://picasaweb.google.com/lh/photo/ll-EJY5ACw7oqHH1xKBQ8w?feat=directlink

2 个答案:

答案 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);
}