判斷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;
    }
}
相關文章
相關標籤/搜索