it-roy-ru.com

клавиатура Готово Клавишное действие Swift iOS не работает

Я новичок в stackoverflow, у меня проблема с новым кодом Swift .. У меня есть пользовательская кнопка возврата на клавиатуре с надписью "Done", но когда я нажимаю на нее, ничего не происходит ... Как я могу скрыть клавиатуру на кране это? Я добавил код (найденный на этом сайте) для скрытия клавиатуры, когда вы нажимаете где-то, а не на клавиатуре, но я не могу настроить его, нажав кнопку «Готово» ... Спасибо, раньше !!

23
Giorgio Nocera

Вам нужно реализовать метод делегата, который вызывается при нажатии кнопки «Готово»:

func textFieldShouldReturn(textField: UITextField!) -> Bool {  
    textField.resignFirstResponder()
    return true
}

Вам также необходимо соответствовать протоколу UITextFieldDelegate:

class MyViewController: UIViewController,UITextFieldDelegate // I assume you override UIview controller class if not add UITextFieldDelegate to your class

И последнее, что нужно сделать, чтобы ваш класс был делегатом текстового поля:

textField.delegate = self
69
Greg
textField.delegate = self

можно заменить на enter image description here

Это создаст необходимые связи между вашим View и его компонентом и заставит метод textFieldShouldReturn работать как положено.

11
Stephane Paquet

Методы протокола имеют новые подписи (Swift 4.1). IE:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textField.resignFirstResponder()
    return true
}

Так как методы протокола являются необязательными, использование неверной подписи молча завершится ошибкой.

0
MatthiasFranz