ios – 如何限制Swift文本字段中的数字?

我希望用户在文本字段中填写0到60之间的数字.
如何将数字字符数限制为2?
如何将最大数量限制为60?
以及如何取消文本字段上的“粘贴”选项,以便用户无法粘贴字母?
最佳答案
我认为有两种方法可以做到这一点.

实现UITextFieldDelegate并实现函数

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

    var startString = ""

    if textField.text != nil {
        startString += textField.text!
    }

    startString += string

    var limitNumber = startString.toInt()

    if limitNumber > 60 {
        return false
    } else {
        return true
    }
}

在此每次检查到目前为止输入到UITextField的内容,转换为Integer,如果新值高于60,则返回false. (还向用户显示相应的错误).

我认为更好的方法是提供UIPickerView.

转载注明原文:ios – 如何限制Swift文本字段中的数字? - 代码日志