iOS UITapGestureRecognizer


Exemple

Initialisez UITapGestureRecognizer avec une cible, self dans ce cas, et une action qui est une méthode avec un seul paramètre: un UITapGestureRecognizer .

Après l'initialisation, ajoutez-le à la vue pour qu'il reconnaisse les taps.

Rapide

override func viewDidLoad() {
    super.viewDidLoad()
    let recognizer = UITapGestureRecognizer(target: self,
                                            action: #selector(handleTap(_:)))
    view.addGestureRecognizer(recognizer)
}

func handleTap(recognizer: UITapGestureRecognizer) {

}

Objectif c

- (void)viewDidLoad {
    [super viewDidLoad];
    UITapGestureRecognizer *recognizer =
        [[UITapGestureRecognizer alloc] initWithTarget:self
                                                action:@selector(handleTap:)];
    [self.view addGestureRecognizer:recognizer];
}

- (void)handleTap:(UITapGestureRecognizer *)recognizer {

}  


Exemple de renvoi au clavier via UITapGestureRecognizer:

Tout d'abord, vous créez la fonction de rejet du clavier:

func dismissKeyboard() {
        view.endEditing(true)
    }  

Ensuite, vous ajoutez un identificateur de geste dans votre contrôleur de vue, en appelant la méthode que nous venons de créer.

let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
        view.addGestureRecognizer(tap)

Exemple d'obtention de l'emplacement de geste UITapGestureRecognizer (Swift 3):

func handleTap(gestureRecognizer: UITapGestureRecognizer) {
print("tap working")
if gestureRecognizer.state == UIGestureRecognizerState.recognized
   {
     print(gestureRecognizer.location(in: gestureRecognizer.view))
   }
}