Проверить выход из TextField resignedFirstReponder? - PullRequest
0 голосов
/ 30 апреля 2020

Можно ли проверить, если TextField был подан в отставку?

У меня есть 3 TextFields, и цикл через них с ключом возврата с (resignFirstResponder) и (становитьсяFirstResponder)

Но есть ли способ проверить, если поле ушло в отставку? Я заметил, что некоторые из моих тестировщиков приложений не используют клавишу возврата, а щелкают вручную по полям, и таким образом мое предыдущее поле не сохраняет данные так, как должно.

Как лучше всего проверить, щелкнул ли пользователь из TextField? Либо к следующему текстовому полю, либо к временному выезду?

1 Ответ

0 голосов
/ 30 апреля 2020

isFirstResponder Apple Docs

Возвращает логическое значение, указывающее, является ли этот объект первым респондентом.

var isFirstResponder: Bool { get }

как использовать

if txtField.isFirstResponder {
// do whatever you want to
}

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

Перед тем как уйти в отставку как первый респондент, текстовое поле вызывает его делегат textFieldShouldEndEditing (_ :) метод. Используйте этот метод для проверки текущего текста.

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool

в вашем случае вы можете проверить, какое текстовое поле заканчивает редактирование

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
   if textField == textfield1 {
     // save 
   }
}

Apple Docs для textFieldShouldEndEditing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...