我的应用程序中有一个UITableView。当表格滚动到最后时,我下载更多数据并重新加载表格。
如果tableView正在滚动,那么当我调用[tableView reloadData];
滚动停止时。如何同时reloadData实现不停止滚动的效果?我想我需要以某种方式保存滚动速度然后恢复它,但是如何做到这一点?
Pd积。在询问之前,我真的搜索了这个问题。
答案 0 :(得分:2)
我的事,this method(insertRowsAtIndexPaths:withRowAnimation:
)是关键。
在SO上描述了一个用例和一个不错的提示:the use case和the tip。
答案 1 :(得分:1)
由于UITableView
是UIScrollView
的子类,您可以使用UIScrollViewDelegate
' s scrollViewWillEndDragging:withVelocity:targetContentOffset:
用于确定应该滚动多远的方法,然后在表重新加载调用setContentOffset:animated:
之后使用该目标偏移量(或者如果它变小,则为tableview的开始/结束)来模拟继续滚动
编辑:由于你的targetContentOffset
可能会是CGRectZero
,你必须以某种方式使用相同方法的速度重新计算它
答案 2 :(得分:1)
如果我没有错,你正在寻找一个函数调用Lazy load。我建议你搜索SVPullToRefresh here!