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 {
//輸入框不為空
}
}
複製程式碼