J'ai une application qui utilise un GLKView, sans autre élément d'interface utilisateur. Je n'utilise pas de GLKViewController et je ne prévois pas de le faire.Reconnaissance gestuelle GLKView sans GLKViewController
Toute ma configuration de l'application se produit dans didFinishLaunchingWithOptions
Mon interface AppDelegate est définie comme:
@interface AppDelegate : UIResponder <UIApplicationDelegate, GLKViewDelegate, UIGestureRecognizerDelegate>
Dans le cadre de cette configuration, je suis en train de mettre en place (Tap GestureRecognizer, Pinch, etc.) - cependant ils ne semblent pas tirer.
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;
Mon sélecteur est défini comme:
#pragma mark - GLKViewDelegate
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
// Code to respond to gesture here
NSLog (@"tapGestureUpdated()");
}
De tout le code exemple que je peux trouver, geste reconnaisseurs sont généralement l'installation dans la méthode viewDidLoad. Cependant, il semble que le GLKView ne fournit pas cette méthode - quand je tente d'en fournir un, il n'est pas appelé.
Vraisemblablement, c'est quelque chose que le GLKViewController fournit - mais comme mentionné, je n'utilise pas un GLKViewController.
Notez que je suis capable de remplacer la méthode touchesBegan (et les amis), et que ces sélecteurs sont déclenchés comme prévu.
Une idée de ce que je fais mal, ou s'il y a une solution de contournement?