2010-08-05 20 views
0

J'ai une sous-classe UIView avec plusieurs sous-vues et je veux gérer ces événements dans la classe:Manipulation touche

  • touchesBegan: withEvent:
  • touchesMoved: withEvent:
  • touchesEnded: withEvent:

mais je souhaite également que ces événements soient appelés dans les sous-vues. Comment puis-je accomplir cela?

(je l'ai déjà essayé avec hitTest, mais je reçois seulement l'événement touchesBegan et sans touches sont envoyées avec la méthode)

Répondre

1

J'ai réussi à le résoudre en redéfinissant la méthode suivante à la fenêtre principale:

- (void)sendEvent:(UIEvent*)anEvent 

Je vérifie également si elle est l'événement avec par

if ([[[anEvent allTouches] anyObject] phase] == UITouchPhaseBegan) 

Je fais la même chose pour UITouchPhaseMoved et UITouchPhaseEnded, exécutez mon code personnalisé, puis envoyez [super sendEvent:anEvent];