“`html

2025 最新 Swift 表單製作教學:使用 UITextField 和 UILabel

在 Swift 中,我們可以使用 UITextFieldUILabel 來製作表單。UITextField 允許使用者輸入文字,而 UILabel 則用來顯示文字。本文將介紹如何使用 Swift 來製作表單,並示範如何應用這兩個元件。接下來,我們將透過實作範例來深入瞭解。

步驟 1:在 Storyboard 中新增元件

首先,在 Xcode 的 Storyboard 中新增一個 UITextField 和一個 UILabel。確保將它們擺放在畫面上適當的位置,以便使用者可以輕鬆地進行輸入和查看。

步驟 2:設定 UITextField 和 UILabel

使用以下程式碼來設定 UITextFieldUILabel 的屬性:

// 設定 UITextField
textField.placeholder = "請輸入文字"
textField.borderStyle = .roundedRect

// 設定 UILabel
label.text = "顯示文字"
label.textColor = .black
label.font = UIFont.systemFont(ofSize: 17)

步驟 3:將 UITextField 的輸入顯示在 UILabel 上

我們將使用以下程式碼將 UITextField 輸入的文字動態顯示在 UILabel 上:

// 將 UITextField 輸入的文字顯示在 UILabel 上
textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)

@objc func textFieldDidChange(_ textField: UITextField) {
    label.text = textField.text
}

步驟 4:使用 Auto Layout 放置元件

最後,使用以下程式碼將 UITextFieldUILabel 放置在畫面上,確保它們的排版符合設計需求:

// 將 UITextField 和 UILabel 放置在畫面上
textField.translatesAutoresizingMaskIntoConstraints = false
label.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    textField.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 16),
    textField.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 16),
    textField.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -16),

    label.topAnchor.constraint(equalTo: textField.bottomAnchor, constant: 16),
    label.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 16),
    label.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -16),
])

錯誤排除

如果在實作過程中遇到問題,以下是一些常見錯誤及其解決方案:
– **UITextField 無法顯示文字**:確保已正確設置 placeholder,並檢查 textFieldDidChange 方法是否已連接正確。
– **UILabel 未更新**:確認是否已正確設定 target,並檢查是否有其他程式碼影響 UILabel 的顯示。

延伸應用

除了基本的表單製作,您還可以擴展這個範例,例如增加按鈕來提交表單,或者將輸入的文字儲存到資料庫中。這些功能可以讓您的應用程式更具互動性和實用性。

Swift 表單製作 (UITextField & UILabel)

Q&A(常見問題解答)

Q1: UITextField 如何限制字數?

A1: 您可以使用 delegate 方法來限制字數,監聽 textField(_:shouldChangeCharactersIn:replacementString:) 方法來實現。

Q2: UILabel 如何自動換行?

A2: 設定 numberOfLines 屬性為 0,並確保 lineBreakMode 設為 byWordWrapping

“`

Categorized in:

Tagged in:

,