¿Hay alguna manera fácil de detectar este tipo de gestos para iPhone? Puedo usar touchesBegan, touchesMoved, touchesEnded. Pero, ¿cómo puedo implementar los gestos? thz u.¿Cómo detectar deslizar hacia la izquierda/derecha en el iPhone?
Respuesta
Estás en el camino correcto. En touchesBegan debes almacenar la posición donde el usuario toca la pantalla por primera vez.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
self.startPosition = [touch locationInView:self];
}
Código similar en toquesEnded le da la posición final. Al comparar las dos posiciones puede determinar la dirección del movimiento. Si la coordenada x se ha movido más allá de cierta tolerancia, tiene un deslizamiento hacia la izquierda o hacia la derecha.
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint endPosition = [touch locationInView:self];
if (startPosition.x < endPosition.x) {
// Right swipe
} else {
// Left swipe
}
}
No es necesario touchesMoved a menos que desee detectar y realizar un seguimiento de un golpe mientras el usuario ha dejado de tocar la pantalla. También puede valer la pena probar que el usuario se haya movido una distancia mínima antes de decidir que ha realizado un deslizamiento.
Si está dispuesto a alcanzar el iPhone OS 3.2 o posterior (todos los iPads o iPhones actualizados), use el objeto UISwipeGestureRecognizer
. Hará esto trivialmente, lo cual es perversamente bueno.
Va a utilizar UISwipeGestureRecognizer objeto de detectar el tacto y la dirección del golpe fuerte En
UIView o en cualquier lugar en el SDK iPhone.
UISwipeGestureRecognizer *rightRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)];
rightRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
[rightRecognizer setNumberOfTouchesRequired:1];
//add the your gestureRecognizer , where to detect the touch..
[view1 addGestureRecognizer:rightRecognizer];
[rightRecognizer release];
UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeHandle:)];
leftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
[leftRecognizer setNumberOfTouchesRequired:1];
[view1 addGestureRecognizer:leftRecognizer];
[leftRecognizer release];
- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{
NSLog(@"rightSwipeHandle");
}
- (void)leftSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer
{
NSLog(@"leftSwipeHandle");
}
creo que esto la mejor solución para su problema
Gracias por compartir, funciona. – Signcodeindie
- 1. Agregue deslizar hacia la izquierda/derecha a la página web, pero use la función predeterminada deslizar hacia arriba/abajo
- 2. cómo detectar deslizar la dirección del gesto?
- 3. Animación de UIView para deslizar hacia abajo
- 4. ¿Cómo obtener la altura de div después de deslizar el control deslizante de acción o deslizar hacia arriba?
- 5. iOS: deslizar hacia la izquierda/derecha entre las pestañas posibles?
- 6. , ¿qué evento se usa para deslizar el dedo hacia la izquierda y hacia la derecha en Android?
- 7. Cómo detectar el movimiento sacudida en iPhone
- 8. Detectar gesto del usuario, como deslizar
- 9. geocodificación hacia adelante desde el iPhone
- 10. ¿Cómo mover el teclado del iPhone hacia abajo como en Messages.app?
- 11. Deslizar para eliminar vs editar botón pulsado sobre el iPhone
- 12. ¿Cómo detectar mediante programación el auricular en el iPhone?
- 13. Cómo reconocer el gesto de deslizar en UIScrollView
- 14. Cómo detectar el modo de edición en el iPhone UITableView
- 15. ¿Cómo se detecta el gesto de deslizar en el iPhone SDK?
- 16. ¿Cómo detectar la versión de iPhone OS en la aplicación?
- 17. Cómo detectar iphone está en modo silencioso
- 18. Cómo detectar si Safari está deshabilitado en el iPhone
- 19. ¿Cómo detectar si una vista de lista se desplaza hacia arriba o hacia abajo en Android?
- 20. ¿Cómo detectar la resolución de textura máxima en iPhone?
- 21. ¿Cómo detectar la frecuencia/tono de sonido en un iPhone?
- 22. Deslice hacia arriba y Deslice hacia abajo la animación en Webview en Android
- 23. Deslizar expandir animación en android
- 24. Cómo deslizar contenido abriendo con jquery
- 25. Cómo deslizar imágenes
- 26. Cómo saber cuándo UITableView se desplazó hacia abajo en iPhone
- 27. ¿Cómo detectar el movimiento del iPhone en el espacio usando el acelerómetro?
- 28. Detectar caracteres Unicode en NSString en iPhone
- 29. deshabilitar gesto deslizar en xcode 4
- 30. Detectar la orientación de la pantalla del iPhone
quixoto es correcto, orden interna GestureRecognizer es mejor. – fyasar
¿puedo usarlo para UITableview? – Mashhadi
Esto es bastante obsoleto, usando 'UISwipeGestureRecognizer' es mucho más limpio (iOS 9) – Cbas