1

多くのUIGestureRecognizersのUIGestureRecognizerDelegateであるView ControllerがあるiPadアプリがあります。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;

}

私のセットアップは、EAGLView の上に UIToolbar があるフルスクリーンの EAGLView です。ツールバーに UIBarButtonItem があります。ここでの考え方は、どこでもダブルタップすると、ツールバーの外観が切り替わるということです。他のすべてのジェスチャは EAGLView で実行する必要があります。

私の問題は、UIBarButtonItem ショー touch.view を直接タップすると、文書化されておらず、イントロスペクトできない UIView サブクラス UIToolbarTextButton になることです。

は?

誰かが回避策を提案できますか?

ありがとう、
ダグ

ありがとう、

ダグ

4

1 に答える 1

3

.superviewUIToolbar、EAGLView、または に到達するまで繰り返し計算できますnil

于 2010-05-01T06:41:46.540 に答える