Edit: Je Maladroit que vous avez dit que vous ne pouvez pas utiliser des gestes 3.x, c'est donc une réponse invalide à votre question, mais je pars au cas où quelqu'un qui peut utiliser des gestes 3.x peut en bénéficier.
Vous pouvez créer deux systèmes de reconnaissance de geste, un pour seul robinet et un pour taper deux fois:
UITapGestureRecognizer *singleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTouchesOne:)];
singleTapGesture.cancelsTouchesInView = NO;
singleTapGesture.delaysTouchesEnded = NO;
singleTapGesture.numberOfTouchesRequired = 1; // One finger single tap
singleTapGesture.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:singleTapGesture];
[singleTapGesture release];
UITapGestureRecognizer *doubleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTouchesTwo:)];
doubleTapGesture.cancelsTouchesInView = NO;
doubleTapGesture.delaysTouchesEnded = NO;
doubleTapGesture.numberOfTouchesRequired = 1; // One finger double tap
doubleTapGesture.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:doubleTapGesture];
[doubleTapGesture release];
Et puis, voici le coup de poing:
[singleTapGesture requireGestureRecognizerToFail : doubleTapGesture];
La dernière ligne, rend votre unique Appuyez sur handler travail seulement si le double robinet échoue. Donc, vous obtenez à la fois une seule tape et double tap dans votre application.
merci. Désolé pour le retard. – SpaceDog