判斷scrollView的滑動方向


第一種方式:

float lastContentOffset;
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    lastContentOffset = scrollView.contentOffset.y;
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    if (lastContentOffset < scrollView.contentOffset.y){
        NSLog(@"向上滾動");
    }else{
        NSLog(@"向下滾動");}
}

這種方式基本上可以滿足需求,但是將scrollView滑到頂部或底部后連續拖拽拉動時會計算不准確

 

第二種方式:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat yoffset = scrollView.contentOffset.y;
    CGPoint vel = [scrollView.panGestureRecognizer velocityInView:scrollView];
    if (vel.y < -5) {
        //向上拖動
    }else if (vel.y > 5) {
        //向下拖動
    }else if (vel.y == 0) {
        //停止拖拽
    }
}

經過檢驗這種方式不會出現偏差

 

by:初光夫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM