У меня есть приложение, которое использует GLKView, без каких-либо других элементов интерфейса. Я не использую GLKViewController, и я не планирую.GLKView распознаватель жестов без GLKViewController
Все мои установки приложения происходит в didFinishLaunchingWithOptions
Мой интерфейс AppDelegate определяется как:
@interface AppDelegate : UIResponder <UIApplicationDelegate, GLKViewDelegate, UIGestureRecognizerDelegate>
В рамках этой установки, я пытаюсь настроить GestureRecognizer (ТКП, Pinch и т.д.) - однако они, похоже, не стреляют.
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()");
}
Из всего кода примера я могу найти, жест recognisers, как правило, установка в методе viewDidLoad. Однако похоже, что GLKView не предоставляет этот метод - когда я пытаюсь его предоставить, он не вызывается.
Предположительно, это то, что обеспечивает GLKViewController, но, как уже упоминалось, я не использую GLKViewController.
Обратите внимание, что я могу переопределить метод touchhesBegan (и друзей), и эти селекторы запускаются, как ожидалось.
Любая идея, что я делаю неправильно, или если есть обходной путь?