You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI普通TextField如何隐藏键盘上方的单词建议栏?

解决方案

普通TextField仅设置disableAutocorrection(true)无法完全隐藏建议栏,需要搭配多个修饰符共同使用,不同系统版本对应方案如下:

全iOS版本通用方案

同时添加以下3个修饰符即可生效:

TextField("请输入", text: $inputText)
    .disableAutocorrection(true)
    .autocapitalization(.none)
    .disableSpellChecking(true)

如果仍有残留的建议栏,可额外指定键盘类型:

.keyboardType(.asciiCapable)

iOS 15+ 专用简化方案

可以使用新版统一修饰符替代旧版多参数设置:

TextField("请输入", text: $inputText)
    .textInputAutocorrection(.never)
    .textInputAutocapitalization(.never)

极端场景兜底方案

如果上述系统修饰符都不生效,可以通过桥接UIKit的UITextField实现完全控制:

struct NoSuggestionTextField: UIViewRepresentable {
    @Binding var text: String
    var placeholder: String
    
    func makeUIView(context: Context) -> UITextField {
        let textField = UITextField()
        textField.placeholder = placeholder
        textField.autocorrectionType = .no
        textField.autocapitalizationType = .none
        textField.spellCheckingType = .no
        // 直接清空输入辅助栏所有按钮组,彻底隐藏建议栏
        textField.inputAssistantItem.leadingBarButtonGroups = []
        textField.inputAssistantItem.trailingBarButtonGroups = []
        return textField
    }
    
    func updateUIView(_ uiView: UITextField, context: Context) {
        uiView.text = text
    }
}

// 使用方式
NoSuggestionTextField(text: $inputText, placeholder: "请输入")

内容的提问来源于stack exchange,提问作者WY34

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:39:04