举行两个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
}
}
希望这会帮助你。