以编程方式更改 UITextField 的 textContentType 不会更新键盘自动填充

问题描述 投票:0回答:1

我将

.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 流程,其中一个文本字段可重复用于不同的消息,因此重复使用它非常重要。

编辑: 当您离开应用程序并返回时,键盘将具有更新的自动填充功能。

swift uikit uitextfield
1个回答
0
投票

我唯一能够解决这个问题的方法是用不同的

UITextField
创建第二个
textContentType
并将它们相互切换。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.