当它们发生时检查UITextField的按键,使我疯狂:-)
问题描述:
我对此很新,我很抱歉问这个问题。当它们发生时检查UITextField的按键,使我疯狂:-)
我想让这个为我的代码工作,但只是不明白。无论我似乎做了什么,我按下的关键点在NSLog中显示。我知道'shouldChangeCharactersInRange'以这种方式工作,我已经上网并试图测试我找到的一些解决方案。一个是:Using `textField:shouldChangeCharactersInRange:`, how do I get the text including the current typed character?但我还是不明白。
我目前的测试代码后,我试图得到它的工作,并改了回来:
-(BOOL) textField: (UITextField *)theTextField shouldChangeCharactersInRange: (NSRange)range replacementString: (NSString *)string {
NSLog(@"%@", MyTextField.text);
MyTextField.text = MyTextField.text;
return YES;
}
myTextField将是文本框i型成。
有人可以告诉我如何获得这项工作,所以我可以跟踪每个击键发生时,而不是按键后?
答
要查看刚按下的键,使用方法:
NSLog(@"%@", string);
从技术上讲,这可能是一个以上的角色,就像一个剪切,粘贴,或取消操作。
直到方法完成后,文本字段的值才真正改变。如果你想看到的文本字段的值是什么,使用
NSLog(@"%@", [MyTextField.text stringByReplacingCharactersInRange:range withString:string);
+0
非常感谢,这使得窍门:-) – PeterK 2010-10-04 22:48:20
迅速解决 '''FUNC文本框(文本框:的UITextField,shouldChangeCharactersInRange范围:NSRange,replacementString字符串:字符串) - >布尔{ let newString =(textField.text as NSString).stringByReplacingCharactersInRange(range,withString:string) return true }''' – 2015-08-18 14:08:40