Domanda

voglio fare qualcosa di simile a visualizzatore di foto di iPhone. Quando singolo tocco, le barre di interfaccia utente scompaiono dopo un breve ritardo. Quando si fa doppio tap, si ingrandisce. Ma io non voglio niente accada il doppio tap perché non ho ancora implementato lo zoom in.

Qualcuno sa come fare questo?

[Questo post] non ha veramente di aiuto. A meno che tu mi dici che è necessario sottoclasse UIGestureRecognizer. Poi, penso che potrei capirlo. Qualcuno ha qualche esempio?

È stato utile?

Soluzione

Guardate la documentazione UITapGestureRecognizer. Ci sono due proprietà che si desidera guardare:

  • numberOfTapsRequired; e
  • numberOfTouchesRequired

Altri suggerimenti

Scopri PhotoView di Three20. Fa quello che stai cercando di fare.

Ecco un po 'di codice che dovrebbe aiutare:

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];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top