当我们在Iphone sdk中使用表视图委托方法commitEditingStyle时,如何禁用特定行的删除按钮?

时间:2010-06-07 09:07:48

标签: iphone objective-c uitableview

这里我需要一个帮助,我使用tableview委托方法commitEditing sytle来获取每个单元格的删除按钮。但是我的问题是我不希望tableview第一行的删除按钮并且滑动不应该工作,我不知道如何实现这一点。

任何人的帮助将不胜感激。

谢谢,

Monish。

2 个答案:

答案 0 :(得分:4)

默认情况下,

UITableViewCell具有删除样式。要更改它,您需要在表视图委托中实现tableView:editingStyleForRowAtIndexPath:方法。返回第一行的UITableViewCellEditingStyleNone和其他行的UITableViewCellEditingStyleDelete

编辑:抱歉,答案不完整。您还需要实现tableView:canEditRowAtIndexPath:方法(类似的东西):

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return indexPath.row > 0;
}

希望'能够工作

答案 1 :(得分:4)

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{
      if(condition check)
          return UITableViewCellEditingStyleDelete;

    return UITableViewCellEditingStyleNone;
}


- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //here your code

     }
}