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

ara*_*ide 15 iphone uitableview

我知道setEditing:用于启用UITableView的编辑模式.

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

可能吗?

谢谢,

InterDev中

ken*_*ytm 31

在数据源中实现-tableView:canEditRowAtIndexPath:方法.返回NO那些行.

  • 有这个问题的派对迟到了,但我不认为这是OP所追求的.这仍然不允许用户移动行但不允许编辑.@OP:试试这个:http://stackoverflow.com/questions/2281394/uitableview-editable-rearrangeable-without-cells-beeing-deletable/2281456#2281456 (3认同)
  • 谢谢.我用 - (BOOL)tableView:(UITableView*)tableview canMoveRowAtIndexPath:(NSIndexPath*)indexPath {return YES; } - (BOOL)tableView:(UITableView*)tableView canEditRowAtIndexPath:(NSIndexPath*)indexPath; {NSInteger row = [indexPath row]; int vv = [[myArray objectAtIndex:row] isEditable]; if(!vv){return NO; } else {return YES; 但是在同一时间设置单元格"启用移动"和"禁用删除"似乎是不可能的. (2认同)

Cha*_* Wu 10

这篇文章总结得很完美, 有没有办法在编辑UITableView时隐藏" - "(删除)按钮

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

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewCellEditingStyleNone; 
}
Run Code Online (Sandbox Code Playgroud)


You*_*you 9

使用canEditRowAtIndexPath将不允许该行与分组样式中的其他单元格对齐.这看起来很糟糕.

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

(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{}
Run Code Online (Sandbox Code Playgroud)