1

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

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

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

这是一个有助于可视化的屏幕截图:http: //picasaweb.google.com/lh/photo/ll-EJY5ACw7oqHH1xKBQ8w ?feat=directlink

4

2 回答 2

1

尝试这个:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    if(indexPath.row == 0) {
        return UITableViewCellEditingStyleDelete;
    } else {
        return UITableViewCellEditingStyleNone;
    }
}
于 2010-05-12T23:18:33.920 回答
0

与其删除行,不如创建一个UIView包含 aUILabel和 customUIButton作为子视图的父级。将此父视图设置为节标题视图

该按钮应连接以触发删除行的方法,例如,翻转BOOL该部分的状态标志,然后重新加载表:

- (void) deleteMySection:(id)sender {
    self.showMySection = NO;
    [tableView reloadData];
}

您的-numberOfSectionsInTableView:委托方法将根据此布尔标志的状态相应地调整其输出,例如

- (NSInteger) numberOfSectionsInTableView:(UITableView *)tv {
    return ((showMySection) ? numberOfSections : numberOfSections - 1);
}
于 2010-05-12T21:39:06.833 回答