[英]Playground code: AffineTransform and AnchorPoint don't work as I want
[英]I don't want the code to work when delete button on the keyboard
單擊刪除按鈕時,我想停用下面的代碼。
我想將在文本字段中輸入的值顯示為 (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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.