我想让我的UIView可以分别通过X轴和Y轴进行滑动。例如,如果用户垂直滑动视图,则触发一个动作,如果用户水平滑动视图,则触发另一个动作。我不知道如何正确实现这一点,所以我想在我的视图中附加两个UIPanGestureRecognizer
。这是错的吗?
答案 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
}
}
希望这会对你有所帮助。