iPad. UIBarButtonItem a une vue sans papier de type UIToolbarTextButton. Huh?
-
02-10-2019 - |
Question
J'ai une application iPad où j'ai un contrôleur de vue qui est le UIGestureRecognizerDelegate pour un certain nombre de UIGestureRecognizers. Je l'ai mis en œuvre la méthode de UIGestureRecognizerDelegate suivante:
- (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;
}
Ma configuration est un EAGLView plein écran avec un UIToolbar au sommet du EAGLView. Il y a un UIBarButtonItem sur la barre d'outils. L'idée est ici que partout tapant deux fois sur l'apparence de basculer la barre d'outils. Tous les autres gestes doivent se produire sur le EAGLView.
Mon problème est que les robinets directement sur le touch.view show UIBarButtonItem pour être le UIView de UIToolbarTextButton qui est en situation irrégulière et ne peut pas être introspecté.
Huh?
Quelqu'un peut-il suggérer un travail autour, de préférence que les utilisations bonté introspective d'une certaine forme?
Merci,
Doug
Merci,
Doug
La solution
Vous pouvez calculer la .superview
à plusieurs reprises jusqu'à ce que vous atteignez un UIToolbar, EAGLView ou nil
.