站点图标 Codeun

SwiftUI 中 TextField、SecureField、TextEditor的API 参数详解

TextField、SecureField、TextEditor 三兄弟是用来接受用户输入、编辑文本的控件,作为最常用的控件之一,在几乎所有需要输入的地方都需要用到它,以下是介绍常用的API使用方式。

各类型释义

struct TextView: View {
    
    @State private var username: String = ""
    @State private var password: String = ""
    @State private var fullText: String = ""
    
    var body: some View {
        Form {
            TextField(text: $username, prompt: Text("用户名")) {
                
            }
            .background(Color.green.opacity(0.2))
            // 自动大小写
            .autocapitalization(.none)
            .disableAutocorrection(true)
            // 输入框样式类型  上文有说明
            .textFieldStyle(.roundedBorder)
            .speechAdjustedPitch(0.5)
            // 输入框关联键盘类型  上文有说明
            .keyboardType(.URL)
            
            // 右下角 return 按钮类型  上文有说明
            .submitLabel(.next)
            .onSubmit {
                // MARK: 右下角 return 按钮点击提交事件
            }
            
            
            SecureField(text: $password, prompt: Text("密码")) {
                Text("Password")
            }
            .background(Color.green.opacity(0.2))
            .submitLabel(.done)
            .onSubmit {
                
            }
            
            
            TextEditor(text: $fullText)
                .foregroundColor(Color.gray)
                .font(.custom("HelveticaNeue", size: 13))
                .lineSpacing(5)
                // 文本对齐方式
                .multilineTextAlignment(.leading)
                // 是否允许必要时压缩显示
                .allowsTightening(true)
                // 自动切换大写
                .textInputAutocapitalization(.words)
                .border(Color(UIColor.separator))
        }
        .disableAutocorrection(true)
        .textFieldStyle(.roundedBorder)
        .keyboardType(.default)
    }
}
退出移动版