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