OStack程序员社区-中国程序员成长平台

标题: ios - 如何检测我何时在 UITableView 下方滚动并回弹 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 02:34
标题: ios - 如何检测我何时在 UITableView 下方滚动并回弹

我正在尝试使用 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-推荐答案


UIScrollViewDelegate 方法

- (void)scrollViewDidEndDraggingUIScrollView *)scrollView willDecelerateBOOL)decelerate;

做你想做的事。它在用户停止滚动后被调用,您可以在此时检查 scrollOffset 以查看是否应该触发刷新代码。 (您可以使用 scrollViewDidScroll 来更新 View 以显示如果他放手将发生用户更新)

关于ios - 如何检测我何时在 UITableView 下方滚动并回弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16469999/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4