SwiftUI如何实现可识别为姓名输入框、支持弹出用户姓名建议的TextField
SwiftUI 系统可识别姓名输入框实现方案
你只需要给TextField添加.textContentType(.name)修饰符即可,系统会自动识别这是姓名输入框,在键盘上方弹出用户本人的姓名输入建议,不需要额外做其他配置。
完整代码示例
import SwiftUI struct NameInputDemo: View { // 绑定输入的姓名字符串 @State private var inputName = "" var body: some View { TextField("请输入您的姓名", text: $inputName) // 核心配置:指定输入内容类型为姓名 .textContentType(.name) // 可选细分配置,按需开启 // .textContentType(.givenName) // 仅自动提示名字(不含姓氏) // .textContentType(.familyName) // 仅自动提示姓氏 // 必须保证自动校正不被禁用,否则建议不会弹出 .autocorrectionDisabled(false) .padding() .border(.gray.opacity(0.3), cornerRadius: 8) .padding(.horizontal) } }
注意事项
- 请确保设备的输入建议功能处于开启状态,路径为 设置 -> 通用 -> 键盘 -> 输入建议
textContentType是iOS13+就支持的SwiftUI原生属性,所有支持SwiftUI的系统版本都可以正常使用- 不要和
.autocorrectionDisabled(true)同时使用,后者会直接禁用所有系统输入建议 - 如果需要适配多语言场景,直接使用
.name即可,系统会自动根据当前系统语言匹配姓名的显示顺序
内容的提问来源于stack exchange,提问作者Boothosh81
相关产品推荐
相关产品推荐

