Cómo detectar Swipe Gesture en iPhone SDK?
ios4 uigesturerecognizer (4)
En mi aplicación de iPhone, necesito reconocer el gesto de deslizamiento realizado por el usuario en la vista.
Quiero que los gestos de deslizamiento sean reconocidos y realice una función al deslizar.
Necesito que la vista se deslice horizontalmente y muestre otra vista a medida que el usuario hace un gesto de deslizamiento.
¿Lo que hay que hacer?
¿Cómo lo reconozco?
Cualquier dirección o tutorial será realmente apreciado.
El siguiente enlace a continuación lo redirige a un video tutorial que le explica cómo detectar golpes en el iPhone en Objective-C :
Tutorial UISwipeGestureRecognizer (detección de golpes en el iPhone)
Ejemplo de código a continuación, para lograr eso en Swift :
Necesita tener un UISwipeGestureRecognizer
para cada dirección. Es un poco extraño porque la propiedad UISwipeGestureRecognizer.direction
es una máscara de bits de estilo de opciones, pero cada reconocedor solo puede manejar una dirección. Puede enviarlos todos al mismo controlador si lo desea, y ordenarlos allí, o enviarlos a diferentes controladores. Aquí hay una implementación:
override func viewDidLoad() {
super.viewDidLoad()
var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)
var swipeDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeDown.direction = UISwipeGestureRecognizerDirection.Down
self.view.addGestureRecognizer(swipeDown)
}
func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.Right:
println("Swiped right")
case UISwipeGestureRecognizerDirection.Down:
println("Swiped down")
default:
break
}
}
}
Si sabe cómo funciona, pero aún necesita un ejemplo rápido, ¡aquí está! (Será útil al menos para mí, cuando necesite un ejemplo de copiar y pegar, sin intentar recordarlo)
UISwipeGestureRecognizer *mSwipeUpRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething)];
[mSwipeUpRecognizer setDirection:(UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:mSwipeUpRecognizer];
y en .h file add:
<UIGestureRecognizerDelegate>
hay documentación de la manzana y muestra para el reconocimiento de deslizamiento, consulte el enlace a continuación;
Use UISwipeGestureRecognizer
. No hay mucho más que decir realmente, los reconocedores de gestos son fáciles. Hay videos WWDC10 sobre el tema, incluso. Sesiones 120 y 121. :)