SwiftUI 3.0TextField的使用
//
// ContentView.swift
// TextFieldControl
//
// Created by lujun on 2021/12/19.
//
import SwiftUI
struct ContentView: View {
var body: some View {
// basicUsage
// modifiers
// styleTextField
customStyle
}
@State private var email: String = ""
@State private var isEditing: Bool = false
var basicUsage: some View {
VStack( spacing: 30) {
if #available(iOS 15.0, *) {
TextField("请输入你的邮箱",text: $email) { isEditing in
self.isEditing = isEditing
}.onSubmit ({
debugPrint("你的邮箱\(email)")
})
.autocapitalization(.none)
.padding()
} else {
}
}
}
var modifiers: some View {
TextField("请输入您的邮箱input EE email", text: $email)
.textContentType(.emailAddress)
.keyboardType(.emailAddress)
.disableAutocorrection(true)
.textCase(.lowercase)
.padding()
.border(Color.gray)
}
@State private var givenName: String = ""
@State private var familyName: String = ""
var styleTextField: some View {
VStack {
VStack {
TextField("Given Name",text: $givenName)
TextField("family Name",text: $familyName)
}
.textFieldStyle(RoundedBorderTextFieldStyle())
VStack{
TextField("Given Name",text: $givenName)
TextField("family Name",text: $familyName)
}
.textFieldStyle(PlainTextFieldStyle())
VStack{
TextField("Given Name",text: $givenName)
TextField("family Name",text: $familyName)
}
.textFieldStyle(DefaultTextFieldStyle())
}
.padding()
}
@State var searchContent: String = ""
var customStyle: some View {
VStack(alignment: .leading, spacing: 20) {
Text("Custom TextFeild Style")
.font(.title2)
.padding()
.background(Color.red)
TextField("Search...",text: $searchContent)
.textFieldStyle(OvalTextFieldStyle())
.textFieldStyle(UnderlineTextFieldStyle())
}.padding()
}
struct OvalTextFieldStyle: TextFieldStyle {
func _body(configuration: TextField<Self._Label>) -> some View {
HStack {
Image(systemName: "magnifyingglass")
.foregroundColor(.purple)
configuration
.padding(.vertical,10)
}
.padding(.horizontal,10)
.background(Color.yellow)
.cornerRadius(20)
.shadow(color: .gray, radius: 2)
}
}
struct UnderlineTextFieldStyle: TextFieldStyle {
func _body(configuration: TextField<Self._Label>) -> some View {
configuration
.overlay(
Rectangle()
.frame(height: 1)
.padding(.top,35)
)
.foregroundColor(.pink)
.padding(10)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
分类:
swiftUI
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· Windows 提权-UAC 绕过