2010-09-28 16 views
12

Al mirar a través del documentation, parece que la nueva API de gestos avanzados no determina la dirección de deslizamiento más allá de los elementos básicos {izquierda, derecha, arriba, abajo}.Gestos avanzados de iOS: obtención del vector de dirección deslizante

Necesito el punto de inicio del deslizamiento y la dirección.

¿Hay alguna forma de recuperar esto aparte de codificar mi propia biblioteca de gestos avanzada desde cero los gestos básicos?

Y si esta es mi única opción, ¿alguien podría indicarme algún código fuente abierto que hace esto?

Respuesta

14

¡Lo tengo! La documentación es here, en 'Creación de Reconocedores de gestos personalizados' en la parte inferior.

Básicamente, los seis gestos que proporciona Apple provienen de UIGestureRecognizer, y usted puede hacer su propio reconocimiento de gestos de la misma manera.

Luego, dentro de la vista inicial, conecta su reconocedor. y solo el acto de conectarlo redirige automáticamente los eventos táctiles entrantes.

En realidad, el comportamiento predeterminado es hacer que su reconocedor sea un observador de estos eventos. Lo que significa que su vista los recibe como solía hacerlo, y además si su reconocedor detecta un gesto, activará su método myCustomEventHandler dentro de su vista (usted pasó su selector cuando enganchó su reconocedor).

Pero a veces desea evitar que los eventos táctiles originales lleguen a la vista, y puede jugar con su reconocedor para hacerlo. así que es un poco engañoso pensar en él como un "observador".

Hay otro escenario, donde un gesto necesita comer otro. Al igual que no puede simplemente devolver un solo clic si su vista también está preparada para recibir clics dobles. Debe esperar a que el reconocedor doble haga un informe de la falla. y si tiene éxito, debe fallar con un solo clic; ¡obviamente no desea enviar los dos de regreso!

+13

El enlace se ha movido aquí: http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizers/GestureRecognizers.html –

+0

De nuevo, el enlace se ha movido aquí: https: // developer. apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizer_basics/GestureRecognizer_basics.html – sleepwalkerfx

Cuestiones relacionadas