- SwiftUI 教程
- SwiftUI - 首頁
- SwiftUI - 概述
- SwiftUI vs UIKit
- SwiftUI 環境
- SwiftUI - 環境設定
- SwiftUI - 基本元件
- SwiftUI - 構建第一個應用程式
- SwiftUI 檢視
- SwiftUI - 檢視
- SwiftUI - 自定義文字檢視
- SwiftUI - 自定義影像檢視
- SwiftUI - 堆疊
- SwiftUI 繪製形狀
- SwiftUI - 形狀
- SwiftUI - 繪製線條
- SwiftUI - 繪製矩形
- SwiftUI - 繪製圓角矩形
- SwiftUI - 繪製三角形
- SwiftUI - 繪製圓形
- SwiftUI - 繪製五角星
- SwiftUI - 繪製多邊形
- SwiftUI - 繪製餅圖
- SwiftUI - 使用內建形狀
- SwiftUI - 文字
- SwiftUI - 文字檢視
- SwiftUI - 文字輸入和輸出
- SwiftUI - 顏色
- SwiftUI - 顏色
- SwiftUI - 顏色選擇器
- SwiftUI - 漸變
- SwiftUI - 調整顏色
- SwiftUI - 效果
- SwiftUI - 效果
- SwiftUI - 混合效果
- SwiftUI - 模糊效果
- SwiftUI - 陰影效果
- SwiftUI - 懸停效果
- SwiftUI - 動畫
- SwiftUI - 動畫
- SwiftUI - 建立動畫
- SwiftUI - 建立顯式動畫
- SwiftUI - 多個動畫
- SwiftUI - 轉場
- SwiftUI - 非對稱轉場
- SwiftUI - 自定義轉場
- SwiftUI - 影像
- SwiftUI - 影像
- SwiftUI - 影像作為背景
- SwiftUI - 旋轉影像
- SwiftUI - 媒體
- SwiftUI - 檢視佈局
- SwiftUI - 檢視佈局
- SwiftUI - 檢視大小
- SwiftUI - 檢視間距
- SwiftUI - 檢視填充
- SwiftUI - 列表和表格
- SwiftUI - 列表
- SwiftUI - 靜態列表
- SwiftUI - 動態列表
- SwiftUI - 自定義列表
- SwiftUI - 表格
- SwiftUI - 表單
- SwiftUI - 表單
- SwiftUI - 將表單拆分為多個部分
- SwiftUI 有用資源
- SwiftUI - 有用資源
- SwiftUI - 討論
SwiftUI - 表單
SwiftUI 對錶單提供了良好的支援。表單是用於在結構化介面中儲存使用者輸入的容器。它們通常用於修改輸入或資料的地方,例如聯絡人列表、設定等。就像列表一樣,它也以垂直可滾動的列顯示資料。因此,在本章中,我們將學習如何建立表單、自定義表單以及更多關於表單的內容。
在 SwiftUI 中建立表單
在 SwiftUI 中,我們可以藉助 Form 元件建立表單。此元件包裝用於資料輸入的所有控制元件,例如文字欄位、切換按鈕、選擇器等。透過這些控制元件,我們可以在表單中新增資料。它以垂直滾動列表顯示資料。
語法
以下是語法:
Form{
// Form Content
}
示例
以下 SwiftUI 程式建立了一個簡單的表單。
import SwiftUI
struct ContentView: View {
var body: some View {
Form{
Text("Name")
Text("Email")
Text("Date")
}
}
}
#Preview {
ContentView()
}
輸出
在 SwiftUI 中的表單中新增控制元件
為了使表單更具吸引力和使用者友好性,我們可以在其中新增多個預定義控制元件。它們增強了表單的外觀,並允許使用者根據自己的需求輸入資料。在表單中,您可以使用以下控制元件輸入資料:
| 控制元件 | 語法 | 描述 |
|---|---|---|
| TextField | TextField("標籤", text: Binding<String>) | 它用於建立一個文字欄位,使用者可以在其中輸入字串。 |
| TextEditor | TextEditor(text: Binding<String>) | 它用於插入文字編輯器。文字編輯器用於在表單中插入長文字,例如摘要、描述、訊息等。 |
| Toggle | Toggle(isOn: Binding<String>) | 它用於建立一個切換按鈕,或者我們可以說它用於建立一個開/關按鈕。它始終表示布林值,即真或假。 |
| Button | Button("標籤", action:) | 它用於建立一個按鈕。 |
| Pickers | Picker("標籤", selection:Binding<String>) | 它用於建立一個列表,從中我們可以選擇專案。 |
示例
以下 SwiftUI 程式用於在表單中新增控制元件:
import SwiftUI
struct ContentView: View {
@State private var name: String = ""
@State private var email: String = ""
@State private var about: String = "Write about yourself..."
@State private var notification = false
@State private var city: String = "Delhi"
var body: some View {
Form{
TextField("Enter Name", text: $name)
TextField("Enter Email", text: $email)
TextEditor(text: $about)
Toggle("Notification", isOn: $notification)
Picker("City", selection:$city){
ForEach(["Delhi", "Mumbai", "Pune", "Kolkata"], id: \.self){
s in Text(s)
}
}
Button("Submit", action:{
print("Submitted")
})
}
}
}
#Preview {
ContentView()
}
輸出
在 SwiftUI 中的表單中新增導航標題
每個表單、列表或表格都需要一個合適的標題來識別它們。因此,在表單中,我們可以藉助 NavigationStack 設定標題。NavigationStack 結構圍繞 Form 元件進行包裝,並提供 navigationTitle() 修飾符,允許我們設定表單的標題。儘管我們也可以使用 VStack 和 Text 設定表單的標題,但 NavigationStack 仍然是建立標題併為表單提供其他功能的最有效和直接的方法。
語法
以下是語法:
NavigationStack{
Form{
// Form Content
}
}.navigationTitle("Form Title")
示例
以下 SwiftUI 程式用於使用 NaivationStack 插入表單標題。
import SwiftUI
struct ContentView: View {
@State private var name: String = ""
@State private var email: String = ""
@State private var about: String = "Write about yourself..."
@State private var notification = false
@State private var city: String = "Delhi"
var body: some View {
NavigationStack{
Form{
TextField("Enter Name", text: $name)
TextField("Enter Email", text: $email)
TextEditor(text: $about)
Toggle("Notification", isOn: $notification)
Picker("City", selection:$city){
ForEach(["Delhi", "Mumbai", "Pune", "Kolkata"], id: \.self){
s in Text(s)
}
}
Button("Submit", action:{
print("Submitted")
})
}.navigationTitle("Employee Data")
}
}
}
#Preview {
ContentView()
}
輸出
在 SwiftUI 中設定表單樣式
SwiftUI 允許我們藉助 formStyle() 修飾符設定表單的樣式。此修飾符以三種不同的模式更改表單的外觀和行為:自動、分組和列。我們可以根據需要選擇任何一種模式。
語法
以下是語法:
func formStyle<S>(_ style: S) -> some View where S : FormStyle
它只接受一個引數,即我們要應用的樣式,預定義的樣式如下:
自動:它應用預設的系統表單樣式。
列:它建立一個非滾動表單,其尾隨對齊的標籤列位於其值的領先對齊列旁邊。
分組:它建立表單行的組。
示例
以下 SwiftUI 程式用於使用 formStyle() 修飾符設定表單的樣式。
import SwiftUI
struct ContentView: View {
@State private var name: String = ""
@State private var email: String = ""
@State private var about: String = "Write about yourself..."
@State private var notification = false
@State private var city: String = "Delhi"
var body: some View {
NavigationStack{
Form{
TextField("Enter Name", text: $name)
TextField("Enter Email", text: $email)
TextEditor(text: $about)
Toggle("Notification", isOn: $notification)
Picker("City", selection:$city){
ForEach(["Delhi", "Mumbai", "Pune", "Kolkata"], id: \.self){
s in Text(s)
}
}
Button("Submit", action:{
print("Submitted")
})
}.navigationTitle("Employee Data").formStyle(.automatic)
}
}
}
#Preview {
ContentView()
}
輸出