UITextField - захватить событие кнопки возврата

Как я могу определить, когда пользователь нажал кнопку возврата на клавиатуре при редактировании UITextField? Мне нужно сделать это для того, чтобы отклонить клавиатуру, когда пользователь нажал кнопку "возврат".

Благодарю.

6 ответов

Решение
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return NO;
}

Не забудьте установить делегата в раскадровке...

Делегирование не требуется, вот одна строка:

- (void)viewDidLoad {
    [textField addTarget:textField
                  action:@selector(resignFirstResponder)
        forControlEvents:UIControlEventEditingDidEndOnExit];
}

К сожалению, вы не можете напрямую сделать это в своей раскадровке (вы не можете подключить действия к элементу управления, который их излучает в раскадровке), но вы можете сделать это через посредническое действие.

Теперь вы можете сделать это в раскадровке, используя отправленное событие "Сделал конец при выходе".

На ваш взгляд, подкласс контроллера:

 @IBAction func textFieldDidEndOnExit(textField: UITextField) {
    textField.resignFirstResponder()
}

В вашей раскадровке для нужного текстового поля:

SWIFT 3.0

override open func viewDidLoad() {
    super.viewDidLoad()    
    textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}

в функцию enterPressed() поместите все виды поведения, которые вам нужны

func enterPressed(){
    //do something with typed text if needed
    textField.resignFirstResponder()
}

Swift версия с использованием UITextFieldDelegate:

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

Swift 5

textField.addTarget(textField, action: #selector(resignFirstResponder), for: .editingDidEndOnExit)
- (BOOL)textFieldShouldReturn:(UITextField *)txtField 
{
[txtField resignFirstResponder];
return NO;
}

Когда нажата кнопка ввода, вызывается этот метод делегата. Вы можете захватить кнопку возврата из этого метода делегата.

Другие вопросы по тегам