2010-05-29 133 views
4

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

回答

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; 
    } 
} 

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

+0

实现' - (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath'来防止缩进,如果你不想那:) – Johanneke 2013-11-13 16:42:57

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; 
} 
+0

这将停止单元格能够重新排序,我只想停止删除并允许重新排序。 – 2010-05-29 11:40:50