从UITableViewCell中隐藏删除button

  • 当我的表格视图处于编辑模式时,出现红色( – )button。
  • 当用户点击其中一个时,出现[Delete]button。
  • 当用户点击[删除]我首先检查一些事情(部分在线)。 这个删除可能不被允许。

  • 当删除不允许的单元格时,如何隐藏[Delete]button并让红色(|)button再次以animation方式变成( – )? 所以,我不希望我的整个表格处于编辑状态。

要获得实际的animation(而不是UITableViewRowAnimationRight / UITableViewRowAnimationAutomatic )animation,只需要

 [self.tableView beginUpdates]; [self.tableView setEditing:NO animated:NO]; [self.tableView setEditing:YES animated:NO]; [self.tableView endUpdates]; 

beginUpdatesendUpdates提供了animation,而tableView只是从不编辑切换到即时编辑,closures了删除button。

希望这可以帮助!

我自己遇到了这个问题,我可能会提出一个警告视图来进一步提示用户,如果他们select不继续,希望重置删除button。 这似乎是最简单的方法,假定deleteIndexPath是select删除的行的索引path:

 [self.tableView reloadRowsAtIndexPaths:@[deleteIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 

我现在看到你想禁用删除只有特定的单元格。 您可以通过以下几种方式来完成此操作:

tableView:canEditRowAtIndexPath方法:返回你想要删除DELETES的地方。 tableView:canMoveRowAtIndexPath :返回YES你想允许重新sorting。

你可能想要考虑对UITableViewCell进行子分类,以使其具有维持其自身状态的能力(因此,单元知道是否允许删除,然后可以询问实际的单元实例,并确定是否应该启用删除名单可能被重新sorting。