在 iOS 6 及之前的版本中,如果您UIControlEventValueChanged
在 a 上注册UISwitch
并且用户点击开关,则当更改动画完成时会调用您的方法。在 iOS 7 中,它似乎发生在开关动画开始时(或至少在触摸结束时)。有没有办法恢复旧的行为?
编辑:我应该澄清我为什么要问这个。我有一个开关UITableViewCell
。当开关值发生变化时,表格的内容也会发生变化,所以我需要调用[tableView reloadData]
. 这些更改过于复杂,无法使用添加/删除部分/单元格动画 API 处理。因此,我的开关在具有新值的新单元格中重新生成,并且我失去了很酷的开关动画。在 iOS 6 和以前的版本中,这不是问题,因为处理程序在所述动画结束时执行。