从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];
beginUpdates
和endUpdates
提供了animation,而tableView只是从不编辑切换到即时编辑,closures了删除button。
希望这可以帮助!
我自己遇到了这个问题,我可能会提出一个警告视图来进一步提示用户,如果他们select不继续,希望重置删除button。 这似乎是最简单的方法,假定deleteIndexPath是select删除的行的索引path:
[self.tableView reloadRowsAtIndexPaths:@[deleteIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
我现在看到你想禁用删除只有特定的单元格。 您可以通过以下几种方式来完成此操作:
tableView:canEditRowAtIndexPath
方法:返回你想要删除DELETES的地方。 tableView:canMoveRowAtIndexPath
:返回YES你想允许重新sorting。
你可能想要考虑对UITableViewCell进行子分类,以使其具有维持其自身状态的能力(因此,单元知道是否允许删除,然后可以询问实际的单元实例,并确定是否应该启用删除名单可能被重新sorting。