我有一个通过JSON加载的UITableView。所以我的逻辑是这样的:
-
获取JSON(nsOperation,回调主线程)
-
在回调中,解析JSON,并将新数据插入到表的数据源数组中。
-
在TableView上调用ReloadData以显示新数据。
我的问题是:如何在表格中设置新行到达的动画?现在,我只是让它们同时出现,我想做的是让它们活跃在适当的位置,因为这样看起来更酷。
我想我要用的是:
[self.theTableView insertRowsAtIndexPaths:insertIndexPaths withRowAnimation:UITableViewRowAnimationRight];
但这让我在运行时抱怨更新的大小与数据源中的大小不同。
我是否遗漏了该如何使用该方法的一些内容?有人知道有人通过这个模式将新行动画化到TableView中的例子吗?
更新:基本上,我是在本的指导下解决的,方法如下:
-
从[self.thetableview beginupdates]开始;
-
当我循环JSON中的条目时,在数组的开头插入它们,每次循环都增加它们的索引。
-
每次通过循环调用insertrowsatindexpath,如下所示:
nsindexxpath*索引路径;
indexpath=[nsindexxpath indexpathforrow:[self.thecatentries indexofobject:message]索引:0];
[self.thetableview insertrowsatindexpaths:[nsarray arraywithobject:indexpath]withrowanimation:no];
-
以循环外的endupdates结束。
Woot。