当它们发生时检查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型成。

有人可以告诉我如何获得这项工作,所以我可以跟踪每个击键发生时,而不是按键后?

+0

迅速解决 '''FUNC文本框(文本框:的UITextField,shouldChangeCharactersInRange范围:NSRange,replacementString字符串:字符串) - >布尔{ let newString =(textField.text as NSString).stringByReplacingCharactersInRange(range,withString:string) return true }''' – 2015-08-18 14:08:40

要查看刚按下的键,使用方法:

NSLog(@"%@", string); 

从技术上讲,这可能是一个以上的角色,就像一个剪切,粘贴,或取消操作。

直到方法完成后,文本字段的值才真正改变。如果你想看到的文本字段的值是什么,使用

NSLog(@"%@", [MyTextField.text stringByReplacingCharactersInRange:range withString:string); 
+0

非常感谢,这使得窍门:-) – PeterK 2010-10-04 22:48:20