多くの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 になることです。
は?
誰かが回避策を提案できますか?
ありがとう、
ダグ
ありがとう、
ダグ