UITableView:多个表:如何禁用单个表的单元格删除?

时间:2014-04-01 16:39:10

标签: ios uitableview

我有一个带有2个表视图A和B的视图控制器。在表A中,我想启用删除单元格,在表B中,我想禁用删除单元格。

实现- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{}将启用视图控制器中所有表视图上的删除(当向左滑动单元格时,显示删除按钮)。

如何为单个表禁用此功能?

2 个答案:

答案 0 :(得分:0)

commitEditingStyle函数有一个参数tableView。您可以为tableView分配不同的标签,并在此功能中检测它们 - 并为一个返回YES,为另一个返回NO。

答案 1 :(得分:0)

您应该将以下委托方法实现为:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(tableView == tableViewA)
        return UITableViewCellEditingStyleNone;
    else
        return UITableViewCellEditingStyleDelete;
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;方法用于在UITableView中提交编辑,因此如果用户调用编辑操作,则会调用它。