【发布时间】:2013-05-09 19:53:39
【问题描述】:
我正在尝试使用 facebook 类型加载更多数据,现在它可以工作,但在设备上非常滞后,因为它要求服务器获取任何不存在的内容,然后一直调用向下滚动功能(因为不知何故当我重新加载数据时,它会滚动到顶部)。如果有办法防止滚动到顶部,那就太好了。但我的主要问题是,有没有办法检测我何时向下滚动,并且 LET GO(停止滚动)就像我滚动过去我所拥有的一样,然后它回到它的位置,然后调用我的方法......目前它当滚动大于 UITableView 的高度时不断调用代码
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat height = scrollView.frame.size.height;
CGFloat contentYoffset = scrollView.contentOffset.y;
CGFloat distanceFromBottom = scrollView.contentSize.height - contentYoffset;
if(distanceFromBottom < height)
{
[getMessage removeAllObjects];
[self loadMessages];
[self.tableView reloadData];
[self scrollAllTheWayDown];
}
}
【问题讨论】:
-
查看EGOTableViewPullRefresh。即使你自己动手,你也可以看到他们是如何做到的。
-
在 iOS 6 上,这就是 UIRefreshControl 旨在为您解决的问题。
-
@matt 我看了看文档,有点迷茫,我什至不知道从哪里开始,你能给我一些示例代码吗?