加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

UITapGestureRecognizer无法在iOS9上运行

发布时间:2020-12-14 17:33:59 所属栏目:百科 来源:网络整理
导读:我有一个使用UITapGestureRecognizers的应用程序,似乎在iOS9 Beta 2中不起作用. 他们成功地打电话了 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ NSLog(@"shouldReceiveTouch"); return YES;
我有一个使用UITapGestureRecognizers的应用程序,似乎在iOS9 Beta 2中不起作用.

他们成功地打电话了

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
  NSLog(@"shouldReceiveTouch");
  return YES;
}

但它没有击中任何其他UITapGesture委托方法.

当我在iOS 8上运行的设备上运行相同的应用程序(来自Xcode 7)时,它按预期工作.

还有其他人打过这个吗?

以下是我初始化UITapGestureRecognizer的方法.

编辑
如果我在代码中而不是在ViewController xib中创建UITapGestureRecognizer它可以正常工作,那么iOS9中的xib解析就可以了.

_tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onMainViewTap:)];
_tapGesture2.numberOfTapsRequired = 1;
_tapGesture2.delegate = self;
[self.view addGestureRecognizer:_tapGesture2];

EDIT2
如果我删除了XIB中的GestureRecognizer并使用XCode 7再次将其添加回来,它也有效.
当我这样做时,它添加了< pressTypeMask key =“allowedPressTypes”/>进入UITapGestureRecognizer下的xib.

解决方法

似乎iOS9寻找< pressTypeMask key =“allowedPressTypes”/>没有它,手势识别器的xml中的行和点击识别器不起作用.
要解决此问题,您可以在代码中构建识别器,将该行添加到xml中,或删除并在Xcode 7中重新添加手势识别器,这将正确地将pressTypeMask添加到xml中.

我想知道苹果是否会在没有XML的那一行的情况下修复iOS9,但是现在,这是一个简单的修复.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读