“`html

2025 最新版 SwiftUI 表單教學

SwiftUI 是 Apple 在 WWDC 2019 推出的新一代 UI 框架,它可以讓開發者快速開發出現代化的 App。表單是 SwiftUI 中的一個重要組件,本文將介紹 SwiftUI 中的表單,並提供最新的語法和最佳實踐來幫助您開發高效的表單應用。

什麼是表單?

表單是一種用於收集用戶資料的 UI 元素,能讓用戶輸入文字、數字、日期等資料,並將其儲存在 App 中。表單也可以用於收集用戶的意見,幫助開發者更好地了解用戶需求。

SwiftUI 中的表單

在 SwiftUI 中,表單可以通過 Form 類別來建立,並使用 TextFieldSecureFieldToggle 等 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 交互等。

SwiftUI 中的表單

Q&A(常見問題解答)

Q1: 如何在 SwiftUI 表單中添加驗證?

A1: 您可以使用 @State 屬性來儲存輸入值,然後在提交時進行檢查,並根據驗證結果顯示提示信息。

Q2: SwiftUI 表單支援哪些輸入類型?

A2: SwiftUI 表單支援多種輸入類型,包括文字框、密碼框、開關、選擇器等。

“`

Categorized in:

Tagged in:

,