elp*_*elp 19 iphone objective-c uitextfield uikeyboard
如何检测按下的退格按钮UIKeyboard?

谢谢
编辑:是否有任何键盘委托返回按键值?
Lom*_*baX 59
如果UITextField为空,则不调用shouldChangeTextInRange委托方法您可以继承UITextField并覆盖此方法:
-(void)deleteBackward;
{
[super deleteBackward];
NSLog(@"BackSpace Detected");
}
Run Code Online (Sandbox Code Playgroud)
由于UITextField符合UITextInput协议,因此实现了此方法,您可以覆盖它以检测何时按下退格.然后,如果检测到退格,您可以编写自己的协议/委托方法来警告自定义文本字段委托.
小智 29
首先,你的UIViewController参考UITextField需要符合UITextFieldDelegate protocol.然后设置你的类为delegate到UITextField(例如[myTextField setDelegate:self]).然后在您的课程中添加以下内容.当发送一串""时,replacementString你知道它是退格.
(BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
if ([string isEqualToString:@""]) {
NSLog(@"Backspace");
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
临时我正在插入一个零空格字符 textFieldDidBeginEditing
textField.text = @"\u200B";
Run Code Online (Sandbox Code Playgroud)
在退格键上,它会删除那个字符,但在图形上它是一样的!
这是一个黑客,它有效,但它隐藏了占位符文本......不好......