我将
.textContentType
设置在 UITextField
上,然后以编程方式更改它(因为我正在重复使用 UITextField
)。更换键盘后我也不会放弃它。
键盘不会更新以显示新
.textContentType
的自动填充选项。我还在调试器中确认 UITextField
的 .textContentType
已更新:
let textField = UITextField()
textField.becomesFirstResponder() // show the keyboard
textField.textContentType = .email
textField.textContentType = .familyName // Doesn't update keyboard autofill
上面的示例是我的实际代码的简化,但应该重现问题。您可能会说,为什么我不创建一个新的 UITextField 或关闭键盘 - 我创建的视图类似于 iMessage 流程,其中一个文本字段可重复用于不同的消息,因此重复使用它非常重要。
编辑: 当您离开应用程序并返回时,键盘将具有更新的自动填充功能。
我唯一能够解决这个问题的方法是用不同的
UITextField
创建第二个 textContentType
并将它们相互切换。