événement touche d'appel sur un événement dans l'objectif C


0

J'essaie d'appeler ces méthodes sur un événement:

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

    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 

Mais je ne sais pas comment remplir les paramètres: 1 - (NSSet *) touche 2 - withEvent: (UIEvent *) événement

Quelqu'un peut-il me fournir un paramètres d'échantillon n'appel à (void) touchesEnded et (void) touchesMoved: (et - (void) touchesBegan

  0

Qu'essayez-vous d'accomplir? Il y a probablement un moyen plus facile. 19 avril. 122012-04-19 13:18:51

  0

pouvez-vous expliquer plus? 19 avril. 122012-04-19 13:24:17

  0

"pouvez-vous expliquer plus?" - Configurer et envoyer des touches sur un clic de bouton est une solution inhabituelle. Si vous pouvez éditer votre question et expliquer quel est le résultat final que vous essayez d'implémenter, il peut y avoir une solution qui n'implique pas d'appeler 'touchesXXX: withEvent:'. 19 avril. 122012-04-19 13:26:51

  0

je veux juste appeler ces méthodes et je veux mettre de nouveaux paramètres .. n'oubliez pas le bouton cliquez .. 19 avril. 122012-04-19 13:30:11

  0

vous êtes question n'est pas claire .... vous voulez appeler ces méthodes lorsque vous appuyez sur un bouton? Il y a quelque chose appelé - (IBAction) aussi vous ne pouvez pas appeler manuellement un événement tactile .... je ne comprends pas ...un événement tactile est appelé lorsque vous touchez .... 19 avril. 122012-04-19 13:52:41

0

Il y a pas de constructeurs publics pour UIT ouch et UIEvent, vous ne pouvez donc pas générer les paramètres requis par la méthode tactile. Comme le dit dasblinkenlight, il pourrait sûrement y avoir une autre approche de votre problème. Mais, l'approche actuelle n'est absolument pas possible.


0

Ces méthodes sont appelées automatiquement par le système. Vous ne les appelez jamais directement.

Ce que vous devriez faire, bien, cela dépend de votre objectif. Si vous voulez juste "simuler" des touches, ayez juste des méthodes d'aide. Ensuite, les touches touchXX les appellent directement.

Nous n'obtenons pas d'API pour créer des objets UITouch, vous devez donc les mettre en miroir si vous souhaitez conserver leurs informations. Quelque chose comme ...

@interface MyTouch : NSObject { 
UITouchPhase phase 
NSUInteger tapCount 
NSTimeInterval timestamp 
UIView *view 
UIWindow *window 
CGPoint locationInView; 
CGPoint locationInWindow; 
@end 

Ensuite, vous pourriez avoir une méthode comme ça ...

- (void)handleTouches:(NSSet*)touches { 
} 

Où touche était un ensemble d'objets MyTouch.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    // For UITouch in touches, create a MyTouch, and add it to your own 
    // collection of touches. 

    [self handleTouches:myTouches]; 
} 

Si vous avez fait cela pour chaque méthode touchesXXXX, chacun d'entre eux passer la manipulation à votre propre méthode. Maintenant, en faisant cela, vous avez le contrôle sur la création de vos propres objets tactiles. Vous pouvez les faire configurer pour n'importe quelle vue, ou modèle que vous voulez. Ensuite, dans tout autre morceau de code, vous pouvez créer une collection d'objets MyTouch, et appeler handleTouches: avec eux. Tant que les méthodes touchXX créent vos objets spéciaux et les transmettent à votre méthode, vous pouvez avoir exactement le même comportement, que le système génère les touches ou que vous les simuliez. Maintenant, ce que vous N'AVEZ PAS, c'est la génération automatique d'événements système.

Si vous êtes tué par l'exécution de cela, il existe des moyens simples pour éviter la création de l'ensemble supplémentaire et des objets, mais ce n'est pas votre question.