Swift: Ocultar el teclado
27/10/2016
|Por Yoné Rocha
Para ocultar el teclado, con un toque en cualquier zona de la pantalla, el código Swift sería:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(ViewController.dismissKeyboard)) //Descomentar, si el tap no debe interferir o cancelar otras acciones //tap.cancelsTouchesInView = false view.addGestureRecognizer(tap) } func dismissKeyboard() { //Las vistas y toda la jerarquía renuncia a responder, para esconder el teclado view.endEditing(true) } |
Sin embargo, si queremos ocultar el teclado al pulsar la tecla return, debemos vincular la acción a un textField:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | class ItemViewController: UIViewController, UITextFieldDelegate { @IBOutlet var textField: UITextField! override func viewDidLoad() { super.viewDidLoad() textField.delegate = self } ... /** * Tecla return pulsada */ func textFieldShouldReturn(textField: UITextField) -> Bool { textField.resignFirstResponder() return true } /** * Cuando se toca en la vista */ override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { self.view.endEditing(true) } } |