2012-09-14 15 views
18

No he podido encontrar un tutorial sobre cómo configurar correctamente un reconocedor de gestos para iOS. Necesito detectar deslizar hacia arriba & hacia abajo, y las devoluciones de llamada para ellos.Identificador de gestos de barrido adecuado iOS

Cualquier ayuda, apreciada. Gracias.

Respuesta

51

Se necesitan dos reconocedores, uno para deslizar hacia arriba y el otro para deslizar hacia abajo:

UISwipeGestureRecognizer* swipeUpGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeUpFrom:)]; 
swipeUpGestureRecognizer.direction = UISwipeGestureRecognizerDirectionUp; 

y para el controlador:

- (void)handleSwipeUpFrom:(UIGestureRecognizer*)recognizer { 

} 

Por último, se agrega a la vista:

[view addGestureRecognizer:swipeUpGestureRecognizer]; 

lo mismo para la otra dirección (sólo cambia todos los Up s a Down s).

+0

Eso es todo? ¿Qué pasa con 'addGestureRecognizer'? No tengo ninguna configuración de configuración ... – iamruskie

+0

Tiene razón: estaba demasiado concentrado en pensar que el punto principal para los reconocedores de barrido es tener un reconocedor para la dirección ... Agregué ese paso ... – sergio

+0

Nunca configuré una vista. ¿Qué puedo poner como vista predeterminada o vista actual? también puse todo esto en el método init? – iamruskie

0

Esto funcionó para mí en Xcode 7.3. , Swift 2.2.

import UIKit 

class Viewcontroller: UIViewController 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     createAndAddSwipeGesture() 
    } 

    private func createAndAddSwipeGesture() 
    { 
     let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(Viewcontroller.handleSwipeLeft(_:))) 
     swipeGesture.direction = UISwipeGestureRecognizerDirection.Left 
     view.addGestureRecognizer(swipeGesture) 
    } 

    @IBAction func handleSwipeLeft(recognizer:UIGestureRecognizer) 
    { 
     print(" Handle swipe left...") 

    } 
} 
Cuestiones relacionadas