提问者:小点点

Secure TextField清除整个文本,在清除单个字符时使用退格[重复]


我使用了两个安全文本字段(新密码和确认密码),当我试图清除一个文本字段中的单个字符使用退格键。 它清楚了整个文本。 如何解决此问题


共1个答案

匿名用户

您需要检测backspace点击,然后使用textfield委托删除字符串中的最后一个元素

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let  char = string.cString(using: String.Encoding.utf8)!
let isBackSpace = strcmp(char, "\\b")

if (isBackSpace == -92) {
     print("Backspace pressed")
}
return true
}

不要忘记将UITextFieldDelegate添加到ViewController中