2010-01-10 4 views
3

J'ai un UIViewController dans une application basée sur la navigation. Je voudrais que le contrôleur de vue reçoive tous les événements tactiles d'objets enfants, tels qu'une vue de table et une barre de navigation. Ou, toute autre technique capable d'intercepter tous les événements tactiles.Interception de tous les événements tactiles

En ce moment, ce qui suit exécute jamais à l'intérieur du contrôleur de vue:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 

Je dois vérifier un indicateur de niveau de classe à l'intérieur de l'événement tactile, peu importe où le contact est venu de (dans l'une des voir les enfants).

Répondre

1

Voir cette question pour la réponse: Observing pinch multi-touch gestures in a UITableView

+0

qui fonctionne bien. Je n'ai pas pu l'utiliser de la manière décrite dans ce post. J'ai ajouté la nouvelle classe et vérifie tout ce qui se passe dans son événement (void) sendEvent: (UIEvent *). Je ne pouvais pas le faire fonctionner en l'implémentant dans d'autres classes, comme les post-mentions. – 4thSpace

+1

Donc, vous définissez window.eventInterceptDelegate pour pointer vers votre contrôleur et interceptEvent: n'a pas été appelé dans votre contrôleur? Seule la fenêtre obtiendra le message sendEvent: à partir de UIApplication, c'est pourquoi vous devez utiliser la délégation pour "passer le message" à une autre instance si vous avez besoin de quelque chose. – Nimrod

Questions connexes