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