举行两个UIPanGestureRecognizer

问题描述:

我想让我的UIView可以通过X轴和Y轴分别滑动。例如,如果用户垂直滑动视图,则会触发一个动作,如果用户水平滑动视图,则会触发另一个动作。我不知道如何正确实施,所以我想附加两个UIPanGestureRecognizer我的看法。这是错的吗?举行两个UIPanGestureRecognizer

只需使用一个UIPanGestureRecognizer并使用它的translation(in: UIView?)velocity(in: UIView?)函数来确定用户正在滑动哪个方向。

不要使用两个手势只使用单一UIPanGestureRecognizer和调用此方法与你的panGesture:

-(void)moveVerticallyAndHorizentally:(UIPanGestureRecognizer *)gesture{ 

    CGPoint velocity = [gesture velocityInView:self.view]; // you can use your own view 

    if (fabs(velocity.y) > fabs(velocity.x)) { 

     // vertical motion 
    } 
    else if (fabs(velocity.x) > fabs(velocity.y)){ 

    // Horizental motion 
    } 
} 

希望这会帮助你。