Ios 如何处理长时间按下软键盘退格按钮?
当我长按默认键盘上的退格按钮时,有时它会清除所有文本,是否有办法只清除一个字符您可以按如下方式处理委托方法中使用文本字段应更改字符的问题:Ios 如何处理长时间按下软键盘退格按钮?,ios,objective-c,swift,uitextfield,Ios,Objective C,Swift,Uitextfield,当我长按默认键盘上的退格按钮时,有时它会清除所有文本,是否有办法只清除一个字符您可以按如下方式处理委托方法中使用文本字段应更改字符的问题: func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if string.isEmpty { if range.length !=
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.isEmpty {
if range.length != 1 {
if let val: String = textField.text {
if !val.isEmpty {
let newStr: NSString = val as NSString
if newStr.length > 0 {
let updatedString: String = newStr.substring(to: newStr.length - 1)
textField.text = updatedString
}
}
}
return false
}
}
return true
}
实现
UITextFieldDelegate的textField(uU2;:shouldChangeCharactersIn:replacementString:)
方法,如下所示
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.isEmpty {
textField.text?.removeLast()
return false
}
return true
}