SwiftUI 表單

SwiftUI 提供了多個表單控制元件,我們可以用來從使用者那取得輸入。 想像一下你 iPhone 上的「設定」應用程式。 那個應用程式可以使用我們即將看到的內建表單控制元件來建構,例如: TextField Toggle Picker 等等 所有這些將會被包裝在一個 Form 視圖中: Form { // 放置表單控制元件 } 這告訴 SwiftUI 這是一個表單,在執行的特定平台上(iPhone、Mac、Watch),SwiftUI 會將內容以符合表單外觀的方式呈現。 這是 SwiftUI 的聲明式特性的一部分。我們將表單控制元件包裝在 Form 視圖中,告訴它這是一個表單,然後它為我們做出決策。 我們將會藉由介紹每個個別的表單控制元件來更多地了解表單。

SwiftUI 表單:DatePicker

在 SwiftUI 中,DatePicker 表單控制元件讓我們可以創建一個…日期選擇器。 它是如何運作的呢? 首先,我們創建一個 Date 型別的屬性: @State private var dateChosen = Date() 我們使用 @State 來讓我們能夠從 DatePicker 視圖中修改這個值。 然後,我們將這個屬性連接到 DatePicker 視圖: DatePicker(selection: $dateChosen, in: ...Date()) { Text("選擇日期和時間") } 它的外觀如下所示: 點擊不同的部分(日期或時間)將會顯示專用的選擇器界面元素: 以下是這個例子的完整程式碼: struct ContentView: View { @State private var dateChosen = Date() var body: some View { Form { DatePicker(selection: $dateChosen, in: ...Date()) { Text("選擇日期和時間") } } } } 你可以選擇只顯示日期的特定元素,使用 displayedComponents 屬性,例如只顯示日期: DatePicker(selection: $dateChosen, in: ...Date(), displayedComponents: .date) { Text("選擇日期和時間") } 或者只顯示時間:...