我不希望代码在键盘上的删除按钮时起作用



我想在单击删除按钮时停用下面的代码。

我想在文本字段中输入的值显示为 (XXX( XXX XXXX,但是当单击删除按钮时,由于插入而不会删除它。

我该怎么做?

我的代码:

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

if number.text!.count == 1 {
number.text!.insert("(", at: number.text!.startIndex)
}
if number.text!.count == 4 {
number.text!.insert(")", at: number.text!.index(number.text!.startIndex, offsetBy: 4))
}
if number.text!.count == 5 {
number.text!.insert(" ", at: number.text!.index(number.text!.startIndex, offsetBy: 5))
}
if number.text!.count == 9 {
number.text!.insert(" ", at: number.text!.index(number.text!.startIndex, offsetBy: 9))
}

guard let textFieldText = number.text, let rangeOfTextToReplace = Range(range, in: textFieldText) else {
return false
}
let substringToReplace = textFieldText[rangeOfTextToReplace]
let count = textFieldText.count - substringToReplace.count + string.count
return count <= 14
}
}
//there is a param 'replacementString string'
if string == "" {
//delete
return true
}

最新更新