Как скрыть клавиатуру, когда я нажимаю клавишу return в UITextField?
щелчок в текстовом поле заставляет клавиатуру появиться. Как скрыть его, когда пользователь нажимает клавишу return?
9 ответов
сначала создайте делегат файла для UITextField, а затем добавьте этот метод в свой код ..
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
на viewDidLoad
объявить:
[yourTextField setDelegate:self];
затем включите переопределение метода делегата:
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
в swift сделайте так:
Первый в вашем ViewController
реализовать этот UITextFieldDelegate
Для EG.
class MyViewController: UIViewController, UITextFieldDelegate {
....
}
теперь добавьте делегата в TextField
в котором вы хотите уволить клавиатуру, когда return нажата либо в viewDidLoad
метод, как показано ниже или где вы его инициализации.
Для EG.
override func viewDidLoad() {
super.viewDidLoad()
myTextField.delegate = self
}
теперь добавьте этот метод.
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
попробуем Свифт,
Шаг 1: установить делегат как self для вашего textField
textField.delegate = self
Шаг 2: добавьте этот UITextFieldDelegate ниже объявления класса,
extension YourClassName: UITextFieldDelegate {
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
}
набор делегата UITextField
, и за поездку, textFieldShouldReturn
метод, в этом методе просто написать следующие две строки:
[textField resignFirstResponder];
return YES;
вот и все. Перед написанием кода не забудьте установить делегат a UITextField
и установите тип ключа возврата в "готово" из окна свойств.(команда + shift + I).
вы можете подключить "первичное действие срабатывает" (щелкните правой кнопкой мыши на UITextField) с IBAction, и вы можете отказаться от первого ответчика (без делегирования). Образец (Swift 4):
@IBAction func textFieldPrimaryAction(_ sender: UITextField) {
sender.resignFirstResponder()
...
}
попробуйте это,
[textField setDelegate: self];
затем в методе делегата textField
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
Swift 4
установить делегат UITextField
in view controller,field.delegate = self
и затем:
extension ViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// don't force `endEditing` if you want to be asked for resigning
// also return real flow value, not strict, like: true / false
return textField.endEditing(false)
}
}