Basi c description: У меня есть модальное диалоговое окно, которое появляется с двумя UITextFields с их типами содержимого, установленными правильно для автозаполнения, клавиатура появляется в фокусе текстового поля, с приглашением iOS автозаполнения. Появляется лист действий автозаполнения, и я выбираю правильно идентифицированные учетные данные, лист действий отклоняется, возвращая мое приложение на передний план, но учетные данные не вводятся в текстовые поля, пока пользователь не сфокусирует их вручную, после чего системная клавиатура отображается повторно и учетные данные вводятся правильно.
Среда:
- Xcode 11,3
- iOS Sim 13,3 (проблема первоначально была сообщена с физического устройства с 13.3)
- Использование PanModal из Slack (https://github.com/slackhq/PanModal) с некоторыми настройками, добавленными для обработки клавиатуры, показывающей и представляющей анимацию v c (https://github.com/mgray88/PanModal/tree/toc.1)
- Текстовые поля - это пользовательские подклассы UITextField
- Поддержка сцен явно отключена
Странное сообщение об ошибке, сообщаемое в консоли, из-за которого чрезмерное количество Google не дало никаких ответов :
Keyboard cannot present view controllers (attempted to present <UIKeyboardHiddenViewController_Autofill: 0x7fe5d37bd640>)
- Появляется при выборе кнопки автозаполнения на клавиатуре для olbar
- Далее следуют
textFieldShouldEndEditing
и textFieldCanResignFirstResponder
, что ожидается - Представлен лист действий автозаполнения, и я выбираю нужные учетные данные
- Лист действий отклоняется, возвращение фокуса к приложению
На этом этапе учетные данные должны быть введены в текстовые поля
- ОДНАКО учетные данные не вводятся в текстовые поля до тех пор, пока пользователь вручную выбирает один из них
- Ни один из методов делегата текстового поля не срабатывает до тех пор, пока не будет выполнена ручная фокусировка
- Ни один из методов первого респондента не сработает
Пример проекта, который демонстрирует эту проблему: https://github.com/mgray88/AutofillTest