只在某些UITableViewCells上有删除显示

时间:2011-07-21 23:13:37

标签: iphone xcode uitableview

我正在开发一个应用程序,我希望能够在单击删除按钮时从UITableView中删除一些内容。现在,我可以让编辑按钮工作以显示带有直线的圆圈,以显示您可以删除,但有几个单元格,我不希望用户能够删除。有谁知道实现这个的简单方法。如果你看一下这个link它会显示我所有的三个单元格,但是我只希望前两个移动而最后一个移动不移动。

2 个答案:

答案 0 :(得分:2)

覆盖此方法:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    if ({SOMETHING TO SAY IF THIS CELL CAN NOT BE DELETED}) {
        return NO;
    }
    return YES;
}

答案 1 :(得分:0)

您要覆盖的方法是

tableView:commitEditingStyle:forRowAtIndexPath:

阅读UITableViewDataSource Protocol Reference。从这个方法的讨论:

  

当用户点击插入(绿色加号)控件或删除按钮时   与表视图中的UITableViewCell对象相关联的表   view将此消息发送到数据源,要求它提交   更改。 (如果用户点击删除(红色减号)控件,则表格   视图然后显示删除按钮以获得确认。)数据   source通过调用UITableView来提交插入或删除   方法insertRowsAtIndexPaths:withRowAnimation:或   deleteRowsAtIndexPaths:withRowAnimation:,视情况而定。