UITextField输入限制长度,留在这里给需要的朋友撇一眼 输入限制,效果就是常见的验证码长度限制效果。最多只有6位,超过只能删除
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let limitation = 19
let currentLength = textField.text?.count ?? 0 // 当前长度
if (range.length + range.location > currentLength){
return false
}
// 禁用启用按钮
let newLength = currentLength + string.count - range.length // 加上输入的字符之后的长度
if newLength >= limitation {
confirmButton.isEnable = true
} else {
confirmButton.isEnable = false
}
return newLength <= limitation
}
复制代码
在输入框为空的时候处理操作
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newLength = range.location + string.count
if newLength > 0 {
// 输入框为空时
} else {
//输入框不为空
}
}
复制代码