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

Était-ce utile?

La solution

Vous pouvez calculer la .superview à plusieurs reprises jusqu'à ce que vous atteignez un UIToolbar, EAGLView ou nil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top