我想知道如何检测文本字段中的更改。我知道我们可以使用Do End On Exit但这仅在用户完成在文本字段上键入并按下其他地方的返回或单击时才有效。我想知道如何检测文本字段中每个输入或删除字母/数字的输入,即如果文本字段中的初始文本是徽章。一旦用户按下删除按钮使文本“badg”我想运行一个方法,一旦用户再次按下删除使其“坏”我想运行一个方法等。
感谢:)
答案 0 :(得分:12)
通过右键单击UITextField并将“Editing Changed”发送事件拖到子类单元,可以在界面构建器中完成上述操作。
答案 1 :(得分:1)
使用UITextFieldDelegate的委托方法...
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
此处string
表示您在文本字段中新输入的内容。当您尝试粘贴字符集时,有时此字符串包含多个字符。
每次在文本字段上键入时调用此委托方法,如果在此方法中返回NO,则在文本字段中不会更新键入的字符。
答案 2 :(得分:0)
使用以下委托方法UITextField
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
阅读official documentation of UITextFieldDelegate
Protocol Reference.
答案 3 :(得分:0)
怎么样?
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
?