更改UITableView的编辑样式

时间:2012-06-10 23:43:18

标签: objective-c ios

浏览BigNerdRanch的iOS指南,其中一项任务是在UITableView的项目列表底部添加“No More Items”单元格。所以,我将项目添加到底部,但我想这样做,以便我无法删除它,我无法重新排序。

我可以通过执行以下操作来设置重新排序:canMoveRowAtIndexSource为NO。但是,仍会出现删除按钮。我知道我可以拒绝我不想删除的行的删除确认,但我不希望删除按钮出现。

我知道我可以通过将canEditRowAtIndexPath设置为NO来删除删除按钮。但是,当我进入编辑模式时,这些行看起来很糟糕,因为它们不再缩进。

看起来我可以缩进单元格的内容,但不能缩进单元格本身。是吗?

解决这个问题的最佳方法是什么?即使是方法的名称也会非常有用。

1 个答案:

答案 0 :(得分:1)

我做的是使用editingStyleForRowAtIndexPath并检查单元格是否可删除,如下所示:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
     if(... can delete ...)
    {
        return UITableViewCellEditingStyleDelete;
    }

    return UITableViewCellEditingStyleNone;
}