Esto funcionaba perfectamente en iOS 10. Pero no funciona en iOS 11. showFlyoutMenu
no encendiendo
gestureLeftArrow = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(leftArrowGesture:)];
[self.navigationController.navigationBar addGestureRecognizer:gestureLeftArrow];
gestureRightArrow = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(rightArrowGesture:)];
[self.navigationController.navigationBar addGestureRecognizer:gestureRightArrow];
UIImage *image = [[UIImage imageNamed:@"hamburger-new.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *flyoutButton = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(showFlyoutMenu)];
self.navigationItem.rightBarButtonItem = flyoutButton;
Respuestas
2 para la respuesta № 1Usted debe establecer cancelsTouchesInView
de tus gestos reconocedores a false
.
Ver: cancelsTouchesInView
Discusión
Cuando esta propiedad es verdadera (la predeterminada) y lael receptor reconoce su gesto, los toques de ese gesto que están pendientes no se entregan a la vista y los toques entregados previamente se cancelan a través de un mensaje de toquesCancelled (_: with :) enviado a la vista. Si un reconocedor de gestos no reconoce su gesto o si el valor de esta propiedad es falso, la vista recibe todos los toques en la secuencia multitáctil.