我可以知道究竟需要什么样的认可才能做到这一点?
任何人都可以让我知道下面的代码行究竟是做什么的? 我已经提到了Apples文档,但没有得到关于此的确切图片,
[scrollview.panGestureRecognizer requireGestureRecognizerToFail:swipeRightGesture];
当用户做出正确的滑动手势时,平移手势将失败(被忽略)。
例如, [_singleTap requireGestureRecognizerToFail:_doubleTap]
,当您需要单击手势时,需要双击手势失败。 双击包括两个单击,因此如果没有requireGestureRecognizerToFail
单击手势委托方法可以调用两次。
所以在这里,滑动手势可能会触发平移手势,然后在您实际滑动时调用panGestureRecognizer委托方法。
如果添加[panGestureRecognizer requireGestureRecognizerToFail:swipeRightGesture]
,一旦swipeRightGesture转换为UIGestureRecognizerStateRecognized或UIGestureRecognizerStateBegan, panGestureRecognizer
会立即转换为UIGestureRecognizerStateFailed。
并且只有swipeRightGesture没有转换到上面的RecognizerStates,panGestureRecognizer可能会响应,转换到UIGestureRecognizerStateBegan,并调用panGestureRecognizer委托方法。
接受的答案只是部分正确……
根据 requireGestureRecognizerToFail:
的文档 requireGestureRecognizerToFail:
接收器转换到的状态取决于otherGestureRecognizer [第二个引用的手势识别器]发生的情况:
如果otherGestureRecognizer转换为UIGestureRecognizerStateFailed,则接收器转换到其正常的下一状态。
如果otherGestureRecognizer转换为UIGestureRecognizerStateRecognized或UIGestureRecognizerStateBegan,则接收方将转换为UIGestureRecognizerStateFailed。
这意味着在以下代码中:
[scrollview.panGestureRecognizer requireGestureRecognizerToFail:swipeRightGesture];
当用户进行轻扫手势时,如果轻扫手势正常进行,则平移手势将仅失败。 但是,如果滑动手势失败,则平移手势将继续进行。