如何检测UIKeyboard
上按下的退格按钮?
感谢
编辑:是否有任何键盘委托返回按键值?
答案 0 :(得分:59)
如果UITextField为空,则不调用shouldChangeTextInRange委托方法 您可以继承UITextField并覆盖此方法:
-(void)deleteBackward;
{
[super deleteBackward];
NSLog(@"BackSpace Detected");
}
由于UITextField符合UITextInput协议,因此实现了此方法,您可以覆盖它以检测何时按下退格。 然后,如果检测到退格,您可以编写自己的协议/委托方法来提醒自定义文本字段委托。
答案 1 :(得分:29)
首先,引用UIViewController
的{{1}}需要符合UITextField
UITextFieldDelegate
。然后将您的班级设为protocol
至delegate
(例如UITextField
)。然后在您的课程中添加以下内容。当一串“”作为[myTextField setDelegate:self]
发送时,您知道它是退格。
replacementString
答案 2 :(得分:4)
临时我在textFieldDidBeginEditing
textField.text = @"\u200B";
在退格键上,它删除了这些字符,但图形上它是相同的!
这是一个黑客,它有效,但它隐藏占位符文本...不好......