在開發 iOS App 時,有時候會需要限制使用者輸入的字數,例如在註冊時,帳號只能輸入 10 個字,或是在輸入密碼時,只能輸入 8 個字,這時候就需要使用 Swift 來限制 UITextField 輸入字數。
在 Swift 中,可以使用 UITextFieldDelegate 來限制 UITextField 輸入字數,下面就來看看如何使用 Swift 來限制 UITextField 輸入字數:
// 在 ViewController 中,先將 UITextFieldDelegate 設定為 self
class ViewController: UIViewController, UITextFieldDelegate {
// 在 viewDidLoad 中,將 UITextField 的 delegate 設定為 self
override func viewDidLoad() {
super.viewDidLoad()
textField.delegate = self
}
// 在 shouldChangeCharactersIn 方法中,設定 UITextField 輸入字數的限制
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = textField.text else { return true }
let newLength = text.count + string.count - range.length
return newLength <= 10 // 限制長度
}
}
上面的程式碼中,我們在 ViewController 中將 UITextFieldDelegate 設定為 self,然後在 viewDidLoad 中將 UITextField 的 delegate 設定為 self,最後在 shouldChangeCharactersIn 方法中,設定 UITextField 輸入字數的限制,這樣就可以限制 UITextField 輸入字數了。
總結:使用 Swift 來限制 UITextField 輸入字數,可以使用 UITextFieldDelegate 來限制 UITextField 輸入字數,並在 shouldChangeCharactersIn 方法中,設定 UITextField 輸入字數的限制,這樣就可以限制 UITextField 輸入字數了。
推薦閱讀文章
UITextField Tutorial: Getting Started
UITextField Tutorial for iOS: How To Create A Simple Text Field
How to limit the number of characters in a UITextField
Limit UITextField Character Length iOS Tutorial
UITextField Tutorial – Limit Characters and Block Spaces (Swift 4, Xcode 9)</a