首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIPanGestureRecognizer冲突

UIPanGestureRecognizer冲突
EN

Stack Overflow用户
提问于 2013-11-25 11:58:17
回答 1查看 1.2K关注 0票数 0

我正在向视图控制器中的一个自定义视图中添加一个UIPanGestureRecognizer。

我还使用MFSideMenu进行滑动菜单,在其框架中向主NavigationViewController.view添加了一个UIPanGestureRecognizer。

有时,当我在我的自定义视图中进行摇摄时,pan实际上发生在MavigationViewController.view中。

造成此问题的原因是MFSideMenu实现中的以下代码:

代码语言:javascript
复制
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

  if([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {

     if([gestureRecognizer.view isEqual:self.rootViewController.view] &&
       [self rootViewControllerPanEnabled])
      {
        return YES;
      }

   return NO;
  }

}

有时(5-10中有一个),这个方法会返回YES,当它在视图上摇摄时应该返回NO!

问题是,不是平移自定义视图,而是打开滑动菜单。

我已经尝试了我所能想象到的一切--这种行为根本没有任何意义。

更新:问题仅在iOS 7-请参阅下面的我的答案为修复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 12:56:51

找到了解决方案;显然问题在iOS 7中。

要修复它,只需在视图控制器中实现UIGestureRecognizerDelegate并实现:

代码语言:javascript
复制
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

这解决了我的随机问题!

UIPanGestureRecognizer sometimes not working on iOS 7的学分

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20192510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档