iPad. UIBarButtonItem ha una vista documentato di tipo UIToolbarTextButton. Eh?
-
02-10-2019 - |
Domanda
Ho un app iPad dove ho un controller della vista che è l'UIGestureRecognizerDelegate per una serie di UIGestureRecognizers. Ho implementato il seguente metodo di UIGestureRecognizerDelegate:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
// Double tapping anywhere on the screen hides/shows the toolbar
if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]] == YES) {
if (touch.tapCount == 2) {
self.toolbar.hidden = self.toolbar.isHidden ? NO : YES;
} // if (touch.tapCount == 2)
} // if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]] == YES)
// All gestures are ignored unless they happen on the fullscreen EAGLView
if ([touch.view isKindOfClass:[EAGLView class]] == NO) {
return NO;
} // if ([touch.view isKindOfClass:[EAGLView class]] == NO)
return YES;
}
La mia configurazione è un EAGLView a schermo intero con un UIToolbar in cima al EAGLView. C'è un UIBarButtonItem sulla barra degli strumenti. L'idea qui è che toccando due volte ovunque alterna l'aspetto della barra degli strumenti. Tutti gli altri gesti devono verificarsi sul EAGLView.
Il mio problema è che i rubinetti direttamente sul UIBarButtonItem spettacolo touch.view di essere l'UIView sottoclasse UIToolbarTextButton che è documentato e non può essere introspected.
Eh?
Qualcuno può suggerire un lavoro in giro, preferibilmente che usi la bontà introspettiva di una qualche forma?
Grazie,
Doug
Grazie,
Doug
Soluzione
È possibile calcolare il .superview
più volte fino a raggiungere un'UIToolbar, EAGLView o nil
.