我有一个iPad应用程序,其中我的视图控制器是许多uigesturerecognizers的uigesturerecognizerdelegate。我已经实施了以下uigeSturEcognizerdelegate的方法:

- (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,上面有一个uitoolbar的eaglview。工具栏上有一个uibarbuttonitem。这里的想法是,双击在任何地方都可以切换工具栏的外观。所有其他手势都必须在Eaglview上发生。

我的问题是,直接在UibarbuttonItem Show touch上的水龙头。查看为Uiview子类UitoolBartextButton,该子类无证件,无法自省。

嗯?

有人可以提出工作,最好是使用某种形式的内省善良?

谢谢,
道格

谢谢,

道格

有帮助吗?

解决方案

你可以计算 .superview 反复直到您到达Uitoolbar,Eaglview或 nil.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top