1
我有一個iPad應用程序,我有一個視圖控制器是UIGestureRecognizerDelegate許多UIGestureRecognizers。我已經實現UIGestureRecognizerDelegate的方法如下:iPad。 UIBarButtonItem有一個UIToolbarTextButton類型的未公開的視圖。咦?
- (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,它是無證的,不能內省。
咦?
有人可以提出一個解決辦法,最好是使用某種形式的內省善良?
感謝,
道格
感謝,
道格
偉大的思想認爲相同;-)。是的,我真的到了這個解決方案。有點黑客,但看起來很健壯,確實有效。我仍然不明白爲什麼這個按鈕沒有公開訪問視圖。我覺得所有可見的東西都是UIView的一些味道。沒有? – dugla 2010-05-02 21:57:22
@dugla:因爲蘋果公司不希望人們直接混淆UIToolbar的內容。 – kennytm 2010-05-03 03:40:26