首页 > 解决方案 > SwiftUI TextField 建议不带 textContentType 的 OTP 代码

问题描述

使用 TextField 视图时,我的 SwiftUI 项目中有一个奇怪的行为。

使用以下代码,TextField textContentType设置为nil(or .none, or UITextContentType.init(rawValue: "")),但键盘建议我使用 OTP 代码(如果最近收到,例如在上一个视图中)。为什么 ?

我尝试了其他有效的textContentType ,如.name, .address, ... 但没有成功(只有 textContentType.password.newPassword禁用 OTP 建议)。

struct TestView: View {
    @State private var text: String = ""
    
    var body: some View {
        TextField("", text: $text)
            .keyboardType(.numberPad)
            .textContentType(nil) // or .none, or UITextContentType.init(rawValue: "")
    }
}

使用 UIKit 项目, UITextField 可以按预期工作(没有键盘建议)。有任何想法吗 ?

谢谢

标签: textfieldios13one-time-passwordswiftui

解决方案


显然这是 UIKit 的遗留错误。那里同样的问题。

感谢 .password 的提示

可悲的是,这带来了填写密码的建议


推荐阅读