/ / Problema di iOS 11: l'azione del pulsante della barra non si attiva se il gesto è stato aggiunto alla barra di navigazione

Problema iOS 11: l'azione del pulsante di barra non viene attivata se il gesto viene aggiunto alla barra di navigazione: ios, ogg-c, uinavigationbar, uibarbuttonitem, ios11

Funzionava perfettamente su iOS 10. Ma non funziona su iOS 11. showFlyoutMenu non accendersi.

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;

risposte:

2 per risposta № 1

Dovresti impostare cancelsTouchesInView dei riconoscitori dei gesti a false.
Vedere: cancelsTouchesInView

Discussione
Quando questa proprietà è vera (impostazione predefinita) e ilil destinatario riconosce il suo gesto, i tocchi di quel gesto in sospeso non vengono consegnati alla vista e i tocchi precedentemente consegnati vengono annullati attraverso un messaggio Toccato (_: con :) inviato alla vista. Se un riconoscitore di gesti non riconosce il suo gesto o se il valore di questa proprietà è falso, la vista riceve tutti i tocchi nella sequenza multi-touch.