Appuyez deux fois sur certains sous-vues spécifiques de la sous-classe UIGestureRecognizer?

StackOverflow https://stackoverflow.com/questions/4298766

Question

J'ai suivi la démonstration du 121 WWDC 2010 (Gesture de Reconnaissance) de la session de trouver un moyen d'avoir tous les comportements (rotation, échelle, traduire) sur une autre classe (TransformGestureReconizer) et tout va bien et faire cela pour les sous-vues :

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:baseView];
    subView1.userInteractionEnabled = YES;
    [self addTransformGestureToView:subView1];
}

Voici mon problème: Je voudrais avoir une action quand je appuyez deux fois sur une sous-vue désirée.

Si j'ajoute un:

- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer

Je ne peux pas choisir la vue mon action offre (comme changer l'image là-dessus) Si je Rajouter la vue principale:

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

Je ne peux gérer la double tap sur l'écran principal, mais pas pour les sous-vues et ne peut le faire sur le TransformGestureReconizer.h mais ne pas choisir le point de vue tapa (je pense que la sous-classe de UIGestureRecognizer).

Était-ce utile?

La solution

J'ai trouvé une solution:

    UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[self addTransformGestureToView:subView1];
[self.subView1 addGestureRecognizer:doubleTap];
[doubleTap release];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top