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