“`html
2025 最新版 SwiftUI 表單教學
SwiftUI 是 Apple 在 WWDC 2019 推出的新一代 UI 框架,它可以讓開發者快速開發出現代化的 App。表單是 SwiftUI 中的一個重要組件,本文將介紹 SwiftUI 中的表單,並提供最新的語法和最佳實踐來幫助您開發高效的表單應用。
什麼是表單?
表單是一種用於收集用戶資料的 UI 元素,能讓用戶輸入文字、數字、日期等資料,並將其儲存在 App 中。表單也可以用於收集用戶的意見,幫助開發者更好地了解用戶需求。
SwiftUI 中的表單
在 SwiftUI 中,表單可以通過 Form
類別來建立,並使用 TextField
、SecureField
、Toggle
等 UI 元素來實現各種表單功能。這裡將逐步介紹如何使用這些元素來創建完整的表單。
使用 Form
類別建立表單
Form
類別用於建立表單,並可以接受一個 @State
陣列,將用戶輸入的資料儲存在 App 中。
struct ContentView: View {
@State private var data = ["項目 1", "項目 2"]
var body: some View {
Form {
ForEach(data, id: \.self) { item in
Text(item)
}
}
}
}
使用 TextField
建立文字輸入框
TextField
用於建立文字輸入框,能接受一個 @Binding
屬性,並將用戶輸入的文字儲存在 App 中。
struct ContentView: View {
@State private var text = ""
var body: some View {
Form {
TextField("請輸入文字", text: $text)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}
}
使用 SecureField
建立密碼輸入框
SecureField
用於建立密碼輸入框,能接受一個 @Binding
屬性,並將用戶輸入的密碼儲存在 App 中。
struct ContentView: View {
@State private var password = ""
var body: some View {
Form {
SecureField("請輸入密碼", text: $password)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}
}
使用 Toggle
建立開關
Toggle
用於建立開關,能接受一個 @Binding
屬性,並將開關的狀態儲存在 App 中。
struct ContentView: View {
@State private var isOn = false
var body: some View {
Form {
Toggle("開關", isOn: $isOn)
.padding()
}
}
}
錯誤排除與最佳實踐
在使用 SwiftUI 表單時,可能會遇到幾種常見的錯誤。例如,若 @State
屬性未正確設置,可能導致 UI 不更新。確保使用 Binding
來連結視圖與資料模型,並在主線程中更新 UI。
延伸應用
除了基本的表單元素,您還可以使用 SwiftUI 的其他功能來增強表單的功能,例如表單驗證、數據提交和與 API 交互等。
Q&A(常見問題解答)
Q1: 如何在 SwiftUI 表單中添加驗證?
A1: 您可以使用 @State
屬性來儲存輸入值,然後在提交時進行檢查,並根據驗證結果顯示提示信息。
Q2: SwiftUI 表單支援哪些輸入類型?
A2: SwiftUI 表單支援多種輸入類型,包括文字框、密碼框、開關、選擇器等。
“`
—