“`html
2025 最新 Swift 表單製作教學:使用 UITextField 和 UILabel
在 Swift 中,我們可以使用 UITextField 和 UILabel 來製作表單。UITextField 允許使用者輸入文字,而 UILabel 則用來顯示文字。本文將介紹如何使用 Swift 來製作表單,並示範如何應用這兩個元件。接下來,我們將透過實作範例來深入瞭解。
步驟 1:在 Storyboard 中新增元件
首先,在 Xcode 的 Storyboard 中新增一個 UITextField 和一個 UILabel。確保將它們擺放在畫面上適當的位置,以便使用者可以輕鬆地進行輸入和查看。
步驟 2:設定 UITextField 和 UILabel
使用以下程式碼來設定 UITextField 和 UILabel 的屬性:
// 設定 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 放置元件
最後,使用以下程式碼將 UITextField 和 UILabel 放置在畫面上,確保它們的排版符合設計需求:
// 將 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 的顯示。
延伸應用
除了基本的表單製作,您還可以擴展這個範例,例如增加按鈕來提交表單,或者將輸入的文字儲存到資料庫中。這些功能可以讓您的應用程式更具互動性和實用性。

Q&A(常見問題解答)
Q1: UITextField 如何限制字數?
A1: 您可以使用 delegate 方法來限制字數,監聽 textField(_:shouldChangeCharactersIn:replacementString:) 方法來實現。
Q2: UILabel 如何自動換行?
A2: 設定 numberOfLines 屬性為 0,並確保 lineBreakMode 設為 byWordWrapping。
“`
 —