您的位置:首页 > 产品设计 > UI/UE

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

2016-09-22 14:42 579 查看
在做类似网易新闻和今日头条的那个效果时候

当我滚动下标为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) {//画面从左往右移动,后一页
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: