iPad。UIBarButtonItem具有UIToolbarTextButton类型的未记录视图。嗯?

iPad。UIBarButtonItem具有UIToolbarTextButton类型的未记录视图。嗯?,ipad,introspection,uitoolbar,uitouch,uigesturerecognizer,Ipad,Introspection,Uitoolbar,Uitouch,Uigesturerecognizer,我有一个iPad应用程序,其中我有一个视图控制器,它是许多UIGestureRecognizer的UIGestureRecognizerDelegate。我已实现以下UIgestureRecognitzerDelegate方法: - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // Double tapping anywhere

我有一个iPad应用程序,其中我有一个视图控制器,它是许多UIGestureRecognizer的UIGestureRecognizerDelegate。我已实现以下UIgestureRecognitzerDelegate方法:

- (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;
}

我的设置是一个全屏EAGLView,在EAGLView顶部有一个UIToolbar。工具栏上有一个uibarbuttonite。这里的想法是双击任意位置可以切换工具栏的外观。所有其他手势必须出现在EagleView上

我的问题是,直接点击UIBarButtonItem show touch.view是UIView子类UIToolbarTextButton,它没有文档记录,无法进行内省

有人能建议一种工作方法,最好是使用某种形式的内省善良吗

谢谢,
道格

谢谢


道格

你可以反复计算
.superview
,直到你到达一个UIToolbar、EagleView或
nil

伟人所见略同;-)。是的,我真的找到了这个解决方案。有点像黑客,但看起来很健壮,确实有效。我仍然不明白为什么按钮没有公开一个可公开访问的视图。我的印象是,一切可见的东西都是一种独特的景观。不是吗?@dugla:因为我想苹果不想让人们直接干扰UIToolbar的内容。