showUleableConfirmation在UITableViewCell上的奇怪行为

UITableViewCell有一个可以读取的showingDeleteConfirmation标志。 顾名思义,这可以让您知道单元格是否显示“删除”按钮。 可以通过两种方式显示此删除按钮:

  1. 在一行中滑动。
  2. 进入单元格的编辑模式,然后按行左侧的“ – ”图标。

我设置了一些日志来检查单元格的willTransitionToState:的这个标志的值willTransitionToState: 。 我发现了让我困惑的东西。

在示例(1)中,当在整行上showingDeleteConfirmation时以及在退出单元格的编辑时(通过在滑动之后触摸行外), showingDeleteConfirmation都是YES

在示例(2)中,当触摸“ – ”图标时,显示showingDeleteConfirmationNO ,但在退出编辑单元格时再次显示“是”(再次通过触摸行外)。

首先,有人可以确认是这种情况,并且它不是我的UITableViewCell子类的怪癖。

为什么这会不一致? 在我看来,行为(2)更好,因为它描述了当时willTransitionToState:屏幕上的willTransitionToState:

您是否尝试过检查didTransitionToState:的逻辑didTransitionToState:相反? 似乎有意义的是,在你点击减号按钮的情况下它将是NO ,并且稍后一旦动画完成它将变为YES