Question

Je veux faire quelque chose de similaire à la visionneuse de photos de l'iPhone. Lorsque vous seul robinet, les barres de l'interface utilisateur disparaissent après un court délai. Lorsque vous appuyez deux fois sur, il effectue un zoom avant. Mais je ne veux pas qu'il arrive quelque chose double robinet parce que je ne l'ai pas encore mis en œuvre un zoom.

Quelqu'un sait comment faire cela?

[Ce message] n'a pas vraiment l'aide. À moins que vous me dites qu'il est nécessaire de la sous-classe UIGestureRecognizer. , Je pense que je pourrais comprendre. Quelqu'un at-il des exemples?

Était-ce utile?

La solution

Regardez la documentation UITapGestureRecognizer. Il y a deux propriétés que vous voulez regarder:

  • numberOfTapsRequired; et
  • numberOfTouchesRequired

Autres conseils

Découvrez la PhotoView de Three20. Il fait ce que vous cherchez à faire.

Voici un code qui devrait aider:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[scrollView addGestureRecognizer:singleTap];
[singleTap release];

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired: 2];
[scrollView addGestureRecognizer:doubleTap];
// this next line will hold callbacks to singleTap until enough time has gone by that doubleTap is not a possibility.  If a doubleTap happens, singleTap will not get called. Otherwise, singleTap's callback gets called.
[singleTap requireGestureRecognizerToFail:doubleTap];
[doubleTap release];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top