UITableViewCell:允许选择性删除

Posted

技术标签:

【中文标题】UITableViewCell:允许选择性删除【英文标题】:UITableViewCell: Allowing Selective Deletion 【发布时间】:2010-05-29 11:13:58 【问题描述】:

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

【问题讨论】:

【参考方案1】:
- (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;
    

当然,这会在“-”按钮所在的位置留下一个空白区域,但不允许删除。而且也不允许滑动删除。

【讨论】:

实施- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath 以防止缩进,如果你不想这样做:)【参考方案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;

【讨论】:

这将阻止单元格重新排序,我只想停止删除并允许重新排序。

以上是关于UITableViewCell:允许选择性删除的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 UITableViewCell 上的删除操作?

在我选择并删除一个条目之前,R Shiny 中的 selectizeInput() 不允许输入

稍后删除 UITableViewCell 的附件视图?

一些iOS的UI特性

使用 UIAppearence 设置 UITableViewCell 选择的背景颜色不起作用

选择后,您可以为 UITableViewCell 上的高度变化设置动画吗?