UIScrollView如何判斷是向右滾動還是向左滾動

在做類似網易新聞和今日頭條的那個效果時候

當我滾動下標爲0的時候,也就是第一個標題的時候,往右繼續滑動,會重複請求第一個標題的數據

同理當我滾動到最後一個標題的時候,會重複請求最後一個標題的數據

特此記錄下解決方法:

1:首先設置pageEnable=YES;

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

2:

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

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

    startContentOffsetX = scrollView.contentOffset.x;

}

3:

#pragma mark -   將要停止前的座標

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{  

    willEndContentOffsetX = scrollView.contentOffset.x;

}

4:

#pragma mark - 減速停止(必須得有快速拖動的動作,scrollView滾動完畢(速度減爲0)並且手已經鬆開的時候調用)

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

    endContentOffsetX = scrollView.contentOffset.x;

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

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

    }

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章