просто используйте
self.view.endEditing(true)
В описанных выше методах действий, где вы хотите отменить клавиатуру.
, например,
@IBAction func cancelPressed(_ sender: Any) {
self.view.endEditing(true)
performSegue(withIdentifier: "CancelSegue", sender: self)
}
и, если хотите,чтобы вернуть клавиатуру в return tap
клавиатуры, используйте эту
class ViewController: UIViewController,UITextFieldDelegate
и реализуйте метод делегата
func textFieldShouldReturn(_ textField: UITextField) -> Bool { //delegate method
textField.resignFirstResponder()
return true
}
, но не забудьте назначить delegate to textfield
yourTextField.delegate = self in `viewDidLoad`
и если вы хотите отклонить клавиатуру при постукивании снаружи, просто назначьте жесту касания для вашего вида следующим образом:
В ViewDidload
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
self.view.addGestureRecognizer(tapGesture)
реализуйте сбросфункция
func dismissKeyboard (_ sender: UITapGestureRecognizer) {
self.view.endEditing(true)
}