NSTextField stringValue не обновляется при нажатии кнопки
Я создал диалоговое окно с NSTextField и NSSecureTextField (для имени пользователя и пароля), а также NSButton для отправки. Розетки правильно подключены в Интерфейсном Разработчике (не ноль).
Я получаю stringValue полей имени пользователя и пароля в обработчике действия для кнопки. Тем не мение:
- Если я введу символ в поле пароля и нажму кнопку, его значение string будет пустым.
- Если я ввожу символ в поле пароля ('a'), изменю фокус на поле имени пользователя, вернусь к полю пароля и введу второй символ ('b'), пароли stringValue вместо 'a' "абы".
Значение stringValue поля пароля (а также поля имени пользователя), по-видимому, не обновляет их значение в фокусе. Я пробовал следующее, чтобы исправить эту проблему, но безрезультатно:
- Установите для действия текстового поля значение "Отправлено при завершении редактирования"
- Установите для состояния текстового поля значение Continuous
- Вызывается validateEditing в текстовом поле в фокусе
- Вызывается resignFirstResponder для текстового поля в фокусе
- Вызывается [self.window makeFirstResponder: self.window]
- Вызывается endEditingFor: в окне с текстовым полем в качестве аргумента (или ноль)
1 ответ
Я нашел решение своей проблемы. Я отключил UITextField, прежде чем спрашивать его значение. По какой-то причине, если я спрашиваю значение перед его отключением, оно верное.
Обновление: документация для UIControl setEnabled: метод утверждает, что если его аргумент НЕТ, "любое редактирование отменяется".