我有一个应用程序,使用了UITapGestureRecognizers
,但在iOS9 Beta 2中似乎无法正常工作。
它们成功地调用了
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
NSLog(@"shouldReceiveTouch");
return YES;
}
但是它没有触发任何其他UITapGesture代理方法。
当我在运行相同的应用程序(来自Xcode 7)在运行iOS 8的设备上时,它按预期工作。
有其他人遇到过这个问题吗?
这是我如何初始化UITapGestureRecognizer。
编辑
如果我在代码中创建UITapGestureRecognizer而不是在ViewController xib中创建它,则可以正常工作,因此在iOS9中存在某些xib解析问题或其他问题。
_tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onMainViewTap:)];
_tapGesture2.numberOfTapsRequired = 1;
_tapGesture2.delegate = self;
[self.view addGestureRecognizer:_tapGesture2];
编辑2
如果我在XIB中删除了GestureRecognizer,并使用XCode 7重新添加它,那么它也可以工作。
当我这样做时,它会在UITapGestureRecognizer下面的xib中添加<pressTypeMask key="allowedPressTypes"/>
。
<pressTypeMask key="allowedPressTypes"/>
行即可修复它们的行为。 - yerforkferchips