在视图上自定义多个手势

时间:2013-11-19 07:25:12

标签: ios objective-c uigesturerecognizer

我创建了两个自定义手势识别器。

  1. PinGestureRecognizer。此手势用于在水平方向拖动视图。
  2. TagGestureRecognizer。此手势用于增加视图的高度,直到用户垂直拖动视图。
  3. 现在,如果另一个手势被识别,我想失败一个手势。

    示例:

    1. 如果用户在>中水平拖动视图= 10像素需要识别PinGestureRecognizer而失败TapGestureRecognizer,反之亦然。
    2. 我如何实现这一功能。

      我知道iOS7提供了像

      这样的方法
      • shouldBeRequiredToFailByGestureRecognizer:
      • shouldRequireFailureOfGestureRecognizer:

      如果它与我的问题相同,我无法理解。如果它的正确意味着我建议我在iOS4及更高版本中获得相同的功能。

      提前致谢....

1 个答案:

答案 0 :(得分:2)

gestureRecognizerShouldBegin使用PinGestureRecognizer委托方法,例如:

// To handle not scrolling vertically
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)panGestureRecognizer {
    CGPoint translation = [panGestureRecognizer translationInView:myView];
    return fabs(translation.y) < fabs(translation.x);
}