Как скрыть клавиатуру? Туториал Swift 2 (скрыть клавиатуру ios)

В override func viewDidLoad() добавим переменную tapRecognizer которая является экземпляром класса UITapGestureRecognizer() и добавим ей свойство addTarget которое будет применяться к самому объекту с действием didTapView, о которой читайте чуть ниже. И в завершении добавляем для текущего вида обработку тапа, передав ей созданный только что экземпляр класса.

override func viewDidLoad() {

super.viewDidLoad()

let tapRecognizer = UITapGestureRecognizer()

tapRecognizer.addTarget(self, action: «didTapView»)

self.view.addGestureRecognizer(tapRecognizer)

}
Функци

я didTapView будет отписываться от текущего представления, в нашем случае от клавиатуры.

func didTapView(){

self.view.endEditing(true)

}

2. Обрабатываем нажатие кнопки Enter/Return для скрытия клавиатуры:

Первое что нам потребуется, задать функцию

// Функция скрытия клавиатуры для текстового поля

func textFieldShouldReturn(textField: UITextField) -> Bool {

textField.resignFirstResponder()

return true;

}

Далее, если у нас несколько полей, то зададим переменную для массива всех полей

var allFields: ArrayUITextField
После чего во viewDidLoad инициализируем наш массив, пусть у нас 4 поля
allFields = [firstName, lastName, email, phone]
и пробежимся по ним в цикле for.
for i in allFields {
i.delegate = self
}
И в завершении вызовем созданную на первом шаге функцию
textFieldShouldReturn(textField: UITextField)
в функции обработки текстового поля для номера телефона. Аналогичным образом ее можно вызвать для всех остальных полей, просто передавая функции аргумент заданного поля.
@IBAction func fPhone(sender: AnyObject) {
ifEmptyGlobal()
checkAl(5, fieldsArray: fields, labelsArray: labels, placeholdersArray: placeholders)
textFieldShouldReturn(phone)
}

Как скрыть клавиатуру? Туториал Swift 2 (скрыть клавиатуру ios)
Метки: