记录ScrollView获取手势滑动距离

  • 前菜
    translationInView : 手指在视图上移动的位置(x,y)向下和向右为正,向上和向左为负。

locationInView : 手指在视图上的位置(x,y)就是手指在视图本身坐标系的位置。

velocityInView: 手指在视图上移动的速度(x,y), 正负也是代表方向,值得一体的是在绝对值上|x| > |y| 水平移动, |y|>|x| 竖直移动。

  • 例子:

    CGFloat velocity = [pan velocityInView:scrollView].y;
    CGFloat velocity1 = [pan locationInView:scrollView].y;
    //scrollView已经有拖拽手势,直接拿到scrollView的拖拽手势

    UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;

           //获取到拖拽的速度 >0 向下拖动 <0 向上拖动
    
           CGFloat velocity = [pan velocityInView:scrollView].y;
    
          NSLog(@"velocity %lf",velocity);
    
           if (velocity <- 5) {
    
            //向上拖动,隐藏导航栏
    
    
           }else if (velocity > 5) {
    
            //向下拖动,显示导航栏
    
    
    
           }else if(velocity == 0){
    
            //停止拖拽
    
           }

你可能感兴趣的:(记录ScrollView获取手势滑动距离)