判断scrollview的滚动方向

直接上代码:

-(BOOL )isScrolltoLeft:(UIScrollView *) scrollView{
    BOOL ret = NO;
    static CGFloat newX = 0;
    static CGFloat oldX = 0;
    newX = scrollView.contentOffset.x;
    if (newX > oldX) {
        ret = YES;
    }else{
        ret = NO;
    }
    oldX = newX;
    return ret;//返回YES就是向左滑动,返货NO就是向右滑动
}

这样写的话一般情况下是可以判断出来的,既然是一般情况那就有特殊情况,当在一个scrollview的最后一页,并且scrollview的bounce设为NO,那么这个时候是监听不到左滑的手势的,为什么呢?我在简书上有具体讲到,有兴趣的可以移步到我的简书:一句代码搞定启动引导页

那么解决方法来了:

-(BOOL )isScrolltoLeft:(UIScrollView *) scrollView{
    //返回YES就是向左滑动,返货NO就是向右滑动
    if ([scrollView.panGestureRecognizer translationInView:scrollView.superview].x < 0) {
        return YES;
    }else{
        return NO;
    }
}

你可能感兴趣的:(scrollview,scrollview滚动)