判断scrollView的滑动方向


第一种方式:

float lastContentOffset;
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    lastContentOffset = scrollView.contentOffset.y;
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    if (lastContentOffset < scrollView.contentOffset.y){
        NSLog(@"向上滚动");
    }else{
        NSLog(@"向下滚动");}
}

这种方式基本上可以满足需求,但是将scrollView滑到顶部或底部后连续拖拽拉动时会计算不准确

 

第二种方式:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat yoffset = scrollView.contentOffset.y;
    CGPoint vel = [scrollView.panGestureRecognizer velocityInView:scrollView];
    if (vel.y < -5) {
        //向上拖动
    }else if (vel.y > 5) {
        //向下拖动
    }else if (vel.y == 0) {
        //停止拖拽
    }
}

经过检验这种方式不会出现偏差

 

by:初光夫


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM