我正在使用UITableView。我的应用程序在iOS 4设备上工作得非常好,但是当我在iOS 5设备上安装相同的应用程序而不是UITableView方法[tableView beginUpdates]和[tableView endUpdates]不执行所需的任务时。
我希望你能有所了解。 谢谢你提前。
答案 0 :(得分:1)
我在代码中看到了两件事,你实际上并没有在UITableView中插入/删除任何新行,而beginAnimations块仅用于此目的。来自doc:
beginUpdates开始一系列插入,删除或的方法调用 选择接收器的行和部分。
- (void)beginUpdates Discussion如果要进行后续插入,删除和选择操作,请调用此方法 例如,cellForRowAtIndexPath:和indexPathsForVisibleRows) 同时动画。这组方法必须以a结尾 调用endUpdates。这些方法对可以嵌套。如果你这样做 不要在其中进行插入,删除和选择调用 阻止,行计数等表属性可能会变为无效。您 不应该在组内调用reloadData;如果你称这种方法 在群组中,您需要自己动手制作任何动画。
我看到的第二件事是你也在使用现在discouraged in the documentation的动画块:
动画视图 在iOS 4及更高版本中不鼓励使用本节中的方法。改为使用基于块的动画方法。
我会尝试使用条件语句移动到新代码,具体取决于运行应用程序的iOS版本。