tableView beginUpdates和tableView endUpdates在iOS 5设备上不起作用

时间:2011-11-26 05:54:35

标签: iphone uitableview ios5

我正在使用UITableView。我的应用程序在iOS 4设备上工作得非常好,但是当我在iOS 5设备上安装相同的应用程序而不是UITableView方法[tableView beginUpdates]和[tableView endUpdates]不执行所需的任务时。

我希望你能有所了解。 谢谢你提前。

1 个答案:

答案 0 :(得分:1)

我在代码中看到了两件事,你实际上并没有在UITableView中插入/删除任何新行,而beginAnimations块仅用于此目的。来自doc

  

beginUpdates开始一系列插入,删除或的方法调用   选择接收器的行和部分。

     
      
  • (void)beginUpdates Discussion如果要进行后续插入,删除和选择操作,请调用此方法   例如,cellForRowAtIndexPath:和indexPathsForVisibleRows)   同时动画。这组方法必须以a结尾   调用endUpdates。这些方法对可以嵌套。如果你这样做   不要在其中进行插入,删除和选择调用   阻止,行计数等表属性可能会变为无效。您   不应该在组内调用reloadData;如果你称这种方法   在群组中,您需要自己动手制作任何动画。
  •   

我看到的第二件事是你也在使用现在discouraged in the documentation的动画块:

  

动画视图   在iOS 4及更高版本中不鼓励使用本节中的方法。改为使用基于块的动画方法。

我会尝试使用条件语句移动到新代码,具体取决于运行应用程序的iOS版本。