我正在尝试使用 facebook 类型加载更多数据,现在它可以工作,但在设备上非常滞后,因为它要求服务器获取任何不存在的内容,然后一直调用向下滚动功能(因为不知何故当我重新加载数据时,它会滚动到顶部)。如果有办法防止滚动到顶部,那就太好了。但我的主要问题是,有没有办法检测我何时向下滚动,并且 LET GO(停止滚动)就像我滚动过去我所拥有的一样,然后它回到它的位置,然后调用我的方法......目前它当滚动大于 UITableView 的高度时不断调用代码
-(void)scrollViewDidScrollUIScrollView *)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];
}
}
Best Answer-推荐答案 strong>
UIScrollViewDelegate 方法
- (void)scrollViewDidEndDraggingUIScrollView *)scrollView willDecelerateBOOL)decelerate;
做你想做的事。它在用户停止滚动后被调用,您可以在此时检查 scrollOffset 以查看是否应该触发刷新代码。 (您可以使用 scrollViewDidScroll 来更新 View 以显示如果他放手将发生用户更新)
关于ios - 如何检测我何时在 UITableView 下方滚动并回弹,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16469999/
|