iOS 13 自动填充在用户手动聚焦之前不会填充 UITextField

mgr*_*y88 8 uikit ios swift

基本描述:我有一个模式对话框,其中显示两个 UITextField,其内容类型已正确设置为自动填充,键盘出现在文本字段焦点上,并带有 iOS 自动填充提示。自动填充操作表出现,我选择正确识别的凭据,操作表关闭,将我的应用程序返回到前台,但凭据不会输入到文本字段中,直到用户手动聚焦它们,此时系统键盘重新显示并且凭据输入正确。

环境:

控制台中报告了奇怪的错误消息,大量的谷歌搜索没有产生任何答案:

  • Keyboard cannot present view controllers (attempted to present <UIKeyboardHiddenViewController_Autofill: 0x7fe5d37bd640>)
  • 选择键盘工具栏上的“自动填充”按钮后会出现此信息
  • 后面是textFieldShouldEndEditingtextFieldCanResignFirstResponder,这是可以预料的
  • 自动填充操作表出现,我选择所需的凭据
  • 操作表关闭,将焦点返回到应用程序

此时,凭据应该已输入到文本字段中

  • 但是,在用户手动选择其中之一之前,凭据不会输入到文本字段中
  • 在手动聚焦之前,不会触发任何文本字段委托方法
  • 第一响应者方法均不会被触发

演示此问题的示例项目:https ://github.com/mgray88/AutofillTest