samedi 27 juin 2015

UITapGestureRecognizer not working on iOS9

I have an application which uses UITapGestureRecognizers which seem to not work in iOS9 Beta 2.

They are successfully calling

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

but it doesn't hit any of the other UITapGesture delegate methods.

When I run the same application (from Xcode 7) on a device running on iOS 8, it works as expected.

Has anyone else hit this?

Here is how I initialise the UITapGestureRecognizer. TapGestureRecognizerSetup

Edit
If I create the UITapGestureRecognizer in code instead of in the ViewController xib it works fine, so there's something up with the xib parsing in iOS9 or something.

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

Edit2
If I deleted the GestureRecognizer in the XIB and added it back in again using XCode 7, it also worked. When I did this, it added <pressTypeMask key="allowedPressTypes"/> into the xib under the UITapGestureRecognizer.

Aucun commentaire:

Enregistrer un commentaire