如何禁用UITableView中某些行的删除操作?

时间:2010-06-07 06:24:51

标签: iphone uitableview

我知道使用setEditing:启用UITableView的编辑模式。

但我更喜欢禁用某些行的操作(启用其他行)。

有可能吗?

谢谢,

InterDev中

4 个答案:

答案 0 :(得分:30)

在您的数据源中实施the -tableView:canEditRowAtIndexPath: method。返回NO这些行。

答案 1 :(得分:10)

这篇文章总结得很好, Is there any way to hide "-" (Delete) button while editing UITableView

如果您不想阅读帖子,则gist位于您不想删除的行但希望允许移动行:将行的编辑样式设置为UITableViewCellEditingStyleNone

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewCellEditingStyleNone; 
}

答案 2 :(得分:9)

使用canEditRowAtIndexPath不允许行与分组样式中的其他单元格对齐。哪个看起来很糟糕。

我使用UITableViewCellEditingStyleNone,对于你不想显示编辑控件的行(减号/加号按钮),把它放在你的

(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{}

答案 3 :(得分:1)

根据您的问题,我了解您只想隐藏删除按钮,使其不显示在第1行。请将tableview编辑设置为yes并添加以下代码

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

    if(indexPath.row==0)
    {
        return NO;
    }
    return YES;
}
相关问题