我有一个带有2个表视图A和B的视图控制器。在表A中,我想启用删除单元格,在表B中,我想禁用删除单元格。
实现- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{}
将启用视图控制器中所有表视图上的删除(当向左滑动单元格时,显示删除按钮)。
如何为单个表禁用此功能?
答案 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
中提交编辑,因此如果用户调用编辑操作,则会调用它。