/ / iOS 11 problema: la acción del botón de barra no se dispara si se agrega un gesto a la barra de navegación: ios, object-c, uinavigationbar, uibarbuttonitem, ios11

Problema de iOS 11: la acción del botón de barra no se activa si se agrega un gesto a la barra de navegación: ios, objetivo-c, barra de navegación, uibarbuttonitem, ios11

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 № 1

Usted 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.