UIScrollView如何判断是向右滚动还是向左滚动

来源:互联网 发布:mac怎么玩腾讯游戏 编辑:程序博客网 时间:2024/05/17 01:07

在做类似网易新闻和今日头条的那个效果时候

当我滚动下标为0的时候,也就是第一个标题的时候,往右继续滑动,会重复请求第一个标题的数据

同理当我滚动到最后一个标题的时候,会重复请求最后一个标题的数据

特此记录下解决方法:

1:首先设置pageEnable=YES;

然后通过Delegate实现相关方法。

2:

#pragma mark - 将要开始拖拽,手指已经放在view上并准备拖动的那一刻

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{    //拖动前的起始坐标

    startContentOffsetX = scrollView.contentOffset.x;

}

3:

#pragma mark -   将要停止前的坐标

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{  

    willEndContentOffsetX = scrollView.contentOffset.x;

}

4:

#pragma mark - 减速停止(必须得有快速拖动的动作,scrollView滚动完毕(速度减为0)并且手已经松开的时候调用)

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    endContentOffsetX = scrollView.contentOffset.x;

    if (endContentOffsetX < willEndContentOffsetX && willEndContentOffsetX < startContentOffsetX) { //画面从右往左移动,前一页

    } else if (endContentOffsetX > willEndContentOffsetX && willEndContentOffsetX > startContentOffsetX) {//画面从左往右移动,后一页

    }

}



0 0