Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我不知道';当键盘上的“删除”按钮按下时,我不希望代码正常工作_Ios_Swift - Fatal编程技术网

Ios 我不知道';当键盘上的“删除”按钮按下时,我不希望代码正常工作

Ios 我不知道';当键盘上的“删除”按钮按下时,我不希望代码正常工作,ios,swift,Ios,Swift,我想在单击删除按钮时停用下面的代码 我想将文本字段中输入的值显示为(XXX)XXX XXXX,但当单击“删除”按钮时,由于插入,它不会被删除 我该怎么做 我的代码: extension CreateOrEditVC:UITextFieldDelegate{ func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -

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

我想将文本字段中输入的值显示为(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
    }
}
扩展CreateOrEditVC:UITextFieldDelegate{
func textField(textField:UITextField,shouldChangeCharacters范围:NSRange,replacementString:string)->Bool{
如果number.text!.count==1{
number.text!.insert(“,at:number.text!.startIndex”)
}
如果number.text!.count==4{
number.text!.insert(“)”,位于:number.text!.index(number.text!.startIndex,offsetBy:4))
}
如果number.text!.count==5{
number.text!.insert(“,at:number.text!.index(number.text!.startIndex,offsetBy:5))
}
如果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{
返回错误
}
let substringToReplace=textFieldText[rangeOfTextToReplace]
let count=textFieldText.count-substringstorereplace.count+string.count
返回计数
//there is a param 'replacementString string'
if string == "" {
   //delete
   return true
}