/ / iOS 11 issue - akcia tlačidla na paneli sa nespustí, ak sa do navigačnej lišty pridalo gesto - ios, object-c, uinavigationbar, uibarbuttonitem, ios11

Problém s iOS 11 - akcia gombíka sa nezapne, ak sa do navigačnej lišty pridalo gesto - ios, objektív-c, uinavigationbar, uibarbuttonitem, ios11

Na systéme iOS 10 to fungovalo dokonale. Ale na systéme iOS 11 to nefunguje. showFlyoutMenu nespúšťa sa.

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;

odpovede:

2 pre odpoveď č. 1

Mali by ste nastaviť cancelsTouchesInView vašich rozpoznávačov gesta false.
pozri: cancelsTouchesInView

diskusia
Ak je táto vlastnosť pravdivá (predvolená) aPrijímač rozpozná svoje gesto, dotyky tohto gesta, ktoré čakajú, sa do zobrazenia nedoručia, a predtým doručené dotyky sa zrušia prostredníctvom správy dotykom Zanechané správy (_: with :) odoslané do zobrazenia. Ak rozpoznávač gest nerozpozná jeho gesto, alebo ak je hodnota tejto vlastnosti nepravdivá, zobrazenie prijme všetky dotyky v mnohov dotykovej postupnosti.