enter image description here 私はOTPの目的のための4つのTextFieldを持っている、とも(のviewDidLoadで私のViewControllerにデリゲートを設定するときに呼び出す)メソッドUITextFieldのtextfieldShouldReturn()メソッドもバックスペースキーを押し
私はまた、デリゲートメソッドを実装している:
をfunc textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if string.characters.count > 1 {
return false
} else {
var tag = textField.tag
if string.characters.count == 0 {
tag -= 1
} else {
tag += 1
}
textField.text = string
// Try to find next responder
let nextResponder = textField.superview?.viewWithTag(tag) as UIResponder!
nextResponder?.becomeFirstResponder()
}
return false
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
print("BACKSPACE PRESSED")
return true
}
しかし、このメソッドの両方は、フィールドが空のときに呼び出されませんが、実際にはクリアテキストが必要です。テキストフィールドが空のときに「バックスペース」を検出する方法任意のアイデアが押され、バックスペース
const char * _char = [string cStringUsingEncoding:NSUTF8StringEncoding];
int isBackSpace = strcmp(_char, "\b");
if (isBackSpace == -8) {
// Code there
}
あなたは 'textField'の' delegate'を接続または設定しましたか? –
"BACKSPACE PRESSED"が見つかったら機能を開発したい場合はhttp://stackoverflow.com/q/1977934/5215474 – Saranjith
を参照してください。 –