我有一个UIScrollView实例,其中包含一个子视图,该子视图具有自己的UIPanGestureRecognizer,用于在滚动视图中移动子视图。我希望滚动视图的捏合缩放功能优先于平移手势。然而,情况并非如此:当我用一根手指在我的子视图上开始捏合时,它会转而变成平移手势。
我尝试过以下方法:
- gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: :它将同时进行平移和缩放 - [panGestureRecognizer requireGestureRecognizerToFail:scrollView.pinchGestureRecognizer]:平移不再起作用(回调仅在UIGestureRecognizerStateEnded状态下触发)。并且panGestureRecognizer.cancelsTouchesInView = NO无法解决问题。
我的理解是,当从子视图开始捏合时,滚动视图和子视图只接收到一次触摸,这就是为什么在第二种情况下,捏合手势识别器甚至不会失败,因为它甚至没有开始处理事件。
那么,有什么办法可以实现这个目标吗?
我尝试过以下方法:
- gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: :它将同时进行平移和缩放 - [panGestureRecognizer requireGestureRecognizerToFail:scrollView.pinchGestureRecognizer]:平移不再起作用(回调仅在UIGestureRecognizerStateEnded状态下触发)。并且panGestureRecognizer.cancelsTouchesInView = NO无法解决问题。
我的理解是,当从子视图开始捏合时,滚动视图和子视图只接收到一次触摸,这就是为什么在第二种情况下,捏合手势识别器甚至不会失败,因为它甚至没有开始处理事件。
那么,有什么办法可以实现这个目标吗?