我有一個使用GLKView的應用程序,沒有其他UI元素。 我沒有使用GLKViewController,我也不打算。沒有GLKViewController的GLKView手勢識別器
我所有的應用程序設置發生在didFinishLaunchingWithOptions
我的AppDelegate接口定義爲:
@interface AppDelegate : UIResponder <UIApplicationDelegate, GLKViewDelegate, UIGestureRecognizerDelegate>
由於此設置的一部分,我試圖建立GestureRecognizer的(自來水,捏等) - 但是他們似乎不是在射擊。
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
tapGesture.delegate = self;
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
tapGesture.cancelsTouchesInView = NO;
[view addGestureRecognizer:tapGesture];
tapGesture.delegate = self;
我的選擇器被定義爲:
#pragma mark - GLKViewDelegate
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
// Code to respond to gesture here
NSLog (@"tapGestureUpdated()");
}
從所有示例代碼我可以發現,手勢識別器通常是viewDidLoad方法內設置。但是,GLKView似乎並沒有提供這種方法 - 當我試圖提供這種方法時,它不會被調用。
大概,這是GLKViewController提供的東西 - 但如前所述,我沒有使用GLKViewController。
請注意,我可以覆蓋touchesBegan方法(和朋友),並按預期方式觸發這些選擇器。
任何想法我做錯了,或者如果有解決方法?