且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

限制UITextField中的字符数

更新时间:2023-01-08 17:31:45

将textField委托设置为相应的类(在我的情况下,自身是ViewController)

Set textField delegates to respective class (in my case self is ViewController)

nameField.delegate = self
keyField.delegate = self

然后您可以通过以下方式限制字符

Then you can restrict characters by

extension ViewController : UITextFieldDelegate {

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

        switch textField {
        case nameField:
            if ((textField.text?.length)! + (string.length - range.length)) > 12 {
                return false
            }

        case keyField:
            if ((textField.text?.length)! + (string.length - range.length)) > 1 {
                return false
            }
        }
        return true 
    }
}