UITableViewCell:允许选择性删除

时间:2010-05-29 11:13:59

标签: ios iphone uitableview cocoa-touch

我有一个表视图,并希望允许重新排序所有单元格,但是有些单元格我不希望被删除。当UiTableView进入删除模式时,我不希望红色的“ - ”按钮出现在左侧,并且不希望滑动手势显示这些单元格的“删除”按钮,但是希望它发生在其他单元格中。有任何想法吗?

2 个答案:

答案 0 :(得分:7)

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

    //if we cant delete the object represented at the index path
    if ([[tableViewObjectsArray objectAtIndex:indexPath.row] canBeDeleted] == NO){
        return UITableViewCellEditingStyleNone;
    }
    //otherwise allow the deletion
    else{
        return UITableViewCellEditingStyleDelete;
    }
}

当然,这会留下一个空白区域,其中“ - ”按钮应该是,但它不允许删除。并且也不允许滑动删除。

答案 1 :(得分:2)

实现:

// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the specified item to be editable.
    return YES;
}