Кто-нибудь заметил, что UITextField
вызывает textFieldDidEndEditing
после нажатия кнопки очистки, но свойство text
все еще имеет старые данные?
Я не уверен, какой пример кода я могу предоставить здесь. Я использую раскадровку, если это имеет значение.
На данный момент мне приходится полагаться на получение данных из всех элементов управления редактирования на кнопке «Отправить» основной формы. Но в идеале я бы предпочел собирать данные в обработчике textFieldDidEndEditing
.
Есть ли лучшие обходные пути?
Я на iOS 6.
Обновление: в основном вот то, что у меня есть в форме
UITextField
иUiButton
указаны в форме.- Клавиатура отключена вызовом
resignFirstResponder
в обработчикеUITapGestureRecognizer
Действия по воспроизведению проблемы:
- Щелкните элемент управления редактированием. Введите текст.
- Коснитесь за пределами текстового элемента управления.
textFieldDidEndEditing
называется. Свойство.text
имеет введенное мной значение. Все хорошо.- Нажмите на элемент управления редактированием еще раз.
- Нажмите на кнопку очистки.
textFieldDidEndEditing
вызывается снова. Но свойство.text
все еще имеет значение, которое я только что удалил!- Теперь, когда вы видите, что курсор мигает внутри UITextField, нажмите кнопку в форме.
- Клавиатура уволена,
textFieldDidEndEditing
никогда не вызывалась.
Завтра я загружу образец проекта на GitHub.