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

SwiftUI中如何关闭TextField的自动大写功能?

在SwiftUI中关闭TextField自动大写的正确方法

你通过Info.plist设置UITextAutocapitalizationType为None没生效,是因为SwiftUI的TextField有自己独立的配置修饰器,全局plist设置对它不生效。直接给目标TextField添加专属修饰器就能解决问题:

基础实现

给TextField加上.autocapitalization(.none)修饰器即可:

@State private var inputText = ""

var body: some View {
    TextField("请输入内容", text: $inputText)
        .autocapitalization(.none)
}

额外优化(可选)

如果还想关闭自动纠错功能,可以搭配.autocorrectionDisabled():

TextField("请输入内容", text: $inputText)
    .autocapitalization(.none)
    .autocorrectionDisabled()

这个修饰器会直接覆盖全局设置,确保当前TextField完全不会触发自动大写。如果需要全局统一设置所有SwiftUI TextField的行为,可以自定义一个TextField扩展或者样式,但单个设置的灵活性更高。

内容的提问来源于stack exchange,提问作者János

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:09:52