UITableView重新加载后如何继续滚动

时间:2015-11-24 12:22:52

标签: ios objective-c swift uitableview scroll

我的应用程序中有一个UITableView。当表格滚动到最后时,我下载更多数据并重新加载表格。

如果tableView正在滚动,那么当我调用[tableView reloadData];滚动停止时。如何同时reloadData实现不停止滚动的效果?我想我需要以某种方式保存滚动速度然后恢复它,但是如何做到这一点?

Pd积。在询问之前,我真的搜索了这个问题。

3 个答案:

答案 0 :(得分:2)

我的事,this methodinsertRowsAtIndexPaths:withRowAnimation:)是关键。

在SO上描述了一个用例和一个不错的提示:the use casethe tip

答案 1 :(得分:1)

由于UITableViewUIScrollView的子类,您可以使用UIScrollViewDelegate' s scrollViewWillEndDragging:withVelocity:targetContentOffset:  用于确定应该滚动多远的方法,然后在表重新加载调用setContentOffset:animated:之后使用该目标偏移量(或者如果它变小,则为tableview的开始/结束)来模拟继续滚动 编辑:由于你的targetContentOffset可能会是CGRectZero,你必须以某种方式使用相同方法的速度重新计算它

答案 2 :(得分:1)

如果我没有错,你正在寻找一个函数调用Lazy load。我建议你搜索SVPullToRefresh  here