判断scrollview的滚动方向

直接上代码:code

-(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,那么这个时候是监听不到左滑的手势的,为何呢?我在简书上有具体讲到,有兴趣的能够移步到个人简书:一句代码搞定启动引导页get

那么解决方法来了:io

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