Détecter la touche de suppression à l'aide de UIKeyCommand

Quelqu'un sait-il comment détecter la touche "supprimer" en utilisant UIKeyCommand sur iOS 7?

Simple vraiment – besoin de chercher le caractère de return arrière "\ b"

Comme les gens avaient des problèmes avec Swift, j'ai pensé qu'un petit exemple complet en Objective C et Swift pourrait être une bonne réponse.

Notez que Swift n'a pas de caractère d'échappement \b pour le return arrière, donc vous devez utiliser une simple séquence d'échappement de valeur scalaire Unicode de \u{8} . Ceci correspond au même caractère de contrôle ASCII de la vieille école, 8- "control-H" pour ceux d'entre nous qui sont vieux. H ^ H ^ Hmature assez pour se souvenir de ces jours! -pour le return arrière comme \b fait en Objective C.

Voici une implémentation de controller de vue Objective C qui capture les backspaces:

 #import "ViewController.h" @implementation ViewController // The View Controller must be able to become a first responder to register // key presses. - (BOOL)canBecomeFirstResponder { return YES; } - (NSArray *)keyCommands { return @[ [UIKeyCommand keyCommandWithInput:@"\b" modifierFlags:0 action:@selector(backspacePressed)] ]; } - (void)backspacePressed { NSLog(@"Backspace key was pressed"); } @end 

Et voici le controller de vue équivalent dans Swift:

 import UIKit class ViewController: UIViewController { // The View Controller must be able to become a first responder to register // key presses. override func canBecomeFirstResponder() -> Bool { return true; } func keyCommands() -> NSArray { return [ UIKeyCommand(input: "\u{8}", modifierFlags: .allZeros, action: "backspacePressed") ] } func backspacePressed() { NSLog("Backspace key was pressed") } }