UIGestureRecognizer方法澄清

时间:2013-12-04 05:14:39

标签: ios uigesturerecognizer

任何人都可以解释一下,我可以使用以下UIGestureRecognizer方法的情况。

1. - (BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer*)preventingGestureRecognizer
   - (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer

2. - (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer

3. - (BOOL)shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer
   - (BOOL)shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer

请给出所有这三种方法的用例,如果你有任何例子,请在这里发表评论。

提前致谢。

2 个答案:

答案 0 :(得分:2)

请阅读Apple's Documentation

<强> canBePreventedByGestureRecognizer: 重写以指示指定的手势识别器可以阻止接收器识别手势。

<强> canPreventGestureRecognizer: 重写以指示接收器可以阻止指定的手势识别器识别其手势。

<强> requireGestureRecognizerToFail: 在接收器和另一个手势识别器之间创建依赖关系。

<强> shouldBeRequiredToFailByGestureRecognizer: 重写以指示应该要求接收器通过指定的手势识别器失败。

<强> shouldRequireFailureOfGestureRecognizer: 重写以指示接收器需要指定的手势识别器失败。

答案 1 :(得分:2)

所有这些方法只是在不同的识别器之间建立不同类型的依赖关系。某些手势识别器可能使用类似的手势,并且通常设置这些手势以使一个优先于另一个。

例如,滚动手势和滑动手势类似,因为它们都涉及在特定方向上移动的触摸,因此您可以设置滑动识别器,使得在滑动之前需要滚动识别器失败认可。或者,您可以对其进行设置,以便滚动识别器可以防止在用户滚动时触发滑动识别器。