拿着两个UIPanGestureRecognizer

时间:2017-10-08 01:09:26

标签: ios objective-c uipangesturerecognizer

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

不要使用两个手势只使用单个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
   }
}

希望这会对你有所帮助。