iOS 13 автозаполнение не заполняет UITextField, пока пользователь не сфокусирует его вручную - PullRequest
2 голосов
/ 13 марта 2020

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

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