Supongamos que actualmente estoy siguiendo un gesto de arrastre. En mi controlador de eventos utilizo un umbral para determinar cuándo el arrastre resulta en una acción. Cuando se cruza el umbral, quiero indicar que el gesto de arrastre se ha completado.¿Cómo finalizo/reinicié un UIGestureRecognizer mediante programación?
La única cosa que puedo encontrar en la documentación es esta línea here:
Si cambia esta propiedad en NO, mientras que un reconocedor gesto es reconociendo actualmente un gesto, las transiciones gesto reconocedor un cancelados estado.
Así:
if (translation.y > 100) {
// do action
[self doAction];
//end recognizer
sender.enabled = NO;
sender.enabled = YES;
}
Esto funciona, pero parece que puede haber una manera más ordenada.
¿Alguien sabe de otra manera de indicar que un gesto ha terminado programáticamente? Esperaría algo así como un método -end:
que genere un evento final con el estado UIGestureRecognizerStateEnded
.
¿Puedes describir qué haces con el gesto de arrastre? ¿Estás realmente arrastrando algo? –
Hola, Fábio, sí, estoy arrastrando horizontalmente, digo una página de un libro virtual, cuando se pasa el umbral, comienzo la animación para voltear una página y luego quiero terminar el gesto de arrastre prematuramente para que un evento con estado UIGestureRecognizerStateEnded sea generado, manejando todas las acciones asociadas con el final regular de este gesto. – Mattijs