是否有办法检测何时在空白的iPhone键盘上按下Backspace/ Delete键UITextField?我想知道什么时候Backspace只有在UITextField空的情况下被按下.
根据@Alex Reynolds在评论中提出的建议,我在创建文本字段时添加了以下代码:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleTextFieldChanged:)
name:UITextFieldTextDidChangeNotification
object:searchTextField];
Run Code Online (Sandbox Code Playgroud)
收到此通知(handleTextFieldChanged调用函数),但Backspace在空字段中按键时仍然不会.有任何想法吗?
这个问题似乎有些混乱.我想在Backspace按下键时收到通知.而已.但是当解决方案UITextField已经空了时,解决方案也必须工作.
为了尝试在UITextField中检测退格,我尝试了子类化UITextField和重写-[UIKeyInput deleteBackward],但它永远不会被调用.所以,我怀疑UITextField碎冰鸡尾酒deleteBackward另一个方法名.
使用Objective-C运行时,如何确定哪个方法名称deleteBackward已被调整为?然后,我如何更改实现,以便在空键时按下删除键时UITextField调用[self.delegate textField:self shouldChangeCharactersInRange:NSMakeRange(0, 0) replacementString:@""].
此外,这种元编程会让我的应用程序被App Store拒绝吗?