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

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

当我滚动下标为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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值