我有一个UITableView,我希望在app store app中有一个'next 25'功能。
但是,我不知道他们使用什么控制以及如何开发它。
有人可以对它有所了解并尽可能多地提供给我信息吗?
答案 0 :(得分:4)
他们所做的是创建另一个单元格,其中包含一个按钮。当点击该按钮时,会触发一些方法,该方法会熄灭并获取更多数据,然后将其添加到tableview的数据源中,然后重新加载该表。
这个“加载更多”单元格从不依赖于数据源(在没有向DS询问任何内容的情况下添加它,请记住),而是添加tableView:cellForRowAtIndexPath:
中的特殊情况处理代码以检查我们是否是在tableview的底部,然后返回自定义单元格。因此,当我们在将新项添加到数据源之后重新加载tableview时,tableview变大,按钮离开该位置,并在我们到达新底部时添加到底部。 :)
答案 1 :(得分:0)
上面答案的前半部分是正确的。下半部分(使用reloadData)不是最好的方法。
获得新数据后,应在表格视图中调用insertRowsAtIndexPaths:withRowAnimation:
。这告诉表视图,您已添加了一堆新行,并允许它为新行添加动画。例如,您可以传递UITableViewRowAnimationFade或UITableViewRowAnimationTop。它也更高效,因为表视图不必重新加载和重绘表中已有的行。
另外,请查看2010 WWDC上桌面视图中的一些视频(您可以在http://developer.apple.com/iphone找到它们,然后滚动到底部)。他们有很多很棒的东西。