Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/11/2011, 22:29
Avatar de dual3nigma
dual3nigma
Colaborador
 
Fecha de Ingreso: febrero-2010
Ubicación: Ciudad de México
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 122
Respuesta: Detectando Swipe de iOS?

Bien, como nadie dice nada les comento más del código xD

Todo surgio, cuando necesitaba gestos y eventos multitouch en iPad, no quería meter una librería gigante y acoplarme a las reglas de por ejemplo Sencha Touch. Lo que estaba haciendo requería de más libertad. Busque y busque y lo que encontré no servia xD. Asi que lo hice manual, solo que lo único que tengo aislado de mi aplicacion es este pequeño archivito con la funcionalidad de detectar un swipe horizontal, entendiendola puedes buscar crear mas eventos si los necesitas.

Miren lo fácil que es la implementación:
Código Javascript:
Ver original
  1. monitorSwipe('body', function (direccion) {
  2.             alert(direccion);
  3.         });

La lógica detrás de esto es aun más sencilla (para mi, como diría mi maestro de cello).

Tienes 3 eventos importantes aquí:

TouchStart es cuando el dedo o dedos toca(n) la superficie, aquí recibes la coordenada de en donde ocurrio el toque, es importante checar touches.length para saber cuantos dedos esta utilizando.

TouchMove cuando uno o todos los dedos se mueven, recibes otra vez las coordenadas del movimiento.

TouchEnd.

Cuando el dedo deja de hacer contacto con la superficie recibes este evento pero sin coordenadas.

Aqui es donde puedes detectar si se hace swipe left o swipe right, swipe top o swipe bottom.


Código Javascript:
Ver original
  1. var direccion = 'left';
  2.         // hacia adelante y hacia atras
  3.         if(startX > endX) direccion = 'right';


Espero les sirva, saludos