Pergunta

Eu quero fazer algo semelhante ao visualizador de fotos do iPhone. Quando você solteira, as barras da interface do usuário desaparecem após um pequeno atraso. Quando você toca duas vezes, ele aumenta o zoom. Mas não quero que nada aconteça no toque duplo, porque ainda não implementei o zoom.

Alguém sabe como fazer isto?

Este post] realmente não ajudou. A menos que você me diga que é necessário subclasse UIGestureRecognizer. Então, acho que consegui descobrir. Alguém tem algum exemplo?

Foi útil?

Solução

Olhe para a UITapGestureRecognizer documentação. Há duas propriedades que você deseja ver:

  • numberOfTapsRequired; e
  • numberOfTouchesRequired

Outras dicas

Confira o PhotoView do Three20. Faz o que você deseja fazer.

Aqui está algum código que deve ajudar:

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];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top