iOS Swift 輸入框限制長度

NDaoxS發表於2018-01-23

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

相關文章