1. 程式人生 > >關於scrollView禁止慣性滑動與UIScrollView左右滾動判斷

關於scrollView禁止慣性滑動與UIScrollView左右滾動判斷

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    if (decelerate)
    {
        dispatch_async(dispatch_get_main_queue(), ^{
            printf("STOP IT!!\n");
            [scrollView setContentOffset:scrollView.contentOffset animated:NO];
        }); 
    }

}

工作需要,需要實現UIScrollView左右拖動載入,

首先設定pageEnable=YES;

然後通過Delegate實現相關方法。

//將要開始拖拽,手指已經放在view上並準備拖動的那一刻

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{    //拖動前的起始座標

    startContentOffsetX = scrollView.contentOffset.x;

}

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{    //將要停止前的座標

    willEndContentOffsetX = scrollView.contentOffset.x;

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    endContentOffsetX = scrollView.contentOffset.x;

    if (endContentOffsetX < willEndContentOffsetX && willEndContentOffsetX < startContentOffsetX) { //畫面從右往左移動,前一頁

    } else if (endContentOffsetX > willEndContentOffsetX && willEndContentOffsetX > startContentOffsetX) {//畫面從左往右移動,後一頁

    }

}

如上可判斷ScrollView是左移了還是右移了