如何检测删除buttonUItableviewcell是否隐藏?
我有一个包含UITableView的视图。 我可以在用户滑动时显示单元格上的删除button。
如果用户触摸删除button,一个方法将被触发(这工作正常)。 但是,如果用户决定不删除该单元格,并且他触摸视图中的任何位置以隐藏删除button。
我如何检测?
当用户点击单元格中的删除标记之外时,程序应该接收对table view委托中的tableView:didEndEditingRowAtIndexPath:
的调用。
[UITableViewCell showingDeleteConfirmation]
要么
以UITableViewCellStateShowingDeleteConfirmationMask
作为参数的[UITableViewCell willTransitionToState:]
在你的UITableViewCell子类中实现willTransitionToState:方法。 当单元格正在转换到编辑状态或从编辑状态转换时,此方法由UITableView调用。
在你的类的实现中,你将需要有条件地检查传递给方法的掩码参数的值,以确定单元正在转换到哪个状态。 掩码的可能值是…
enum { UITableViewCellStateDefaultMask = 0, UITableViewCellStateShowingEditControlMask = 1 << 0, UITableViewCellStateShowingDeleteConfirmationMask = 1 << 1 };
在你的情况下,你会想看转换到UITableViewCellStateDefaultMask,所以你的实现将如下…
- (void)willTransitionToState:(UITableViewCellStateMask)state { if (state == UITableViewCellStateDefaultMask) { // User has switched back to default state... // ... } }