从UITextField中仅删除剩余字符时未检测到UIControlEventEditingChanged?

时间:2014-09-08 19:00:01

标签: ios uitextfield uicontrolevents

我在输入UITextField时尝试获取字符数。我使用UIControlEventEditingChanged通知然后获取当前计数:

[textField addTarget:self action:@selector(handleTextDidChange:) forControlEvents:UIControlEventEditingChanged];

每当我在字段中键入任何新字符时,代码工作正常并被触发。每当我删除任何字符时它也会被触发,除非它是文本字段中唯一剩余的字符。

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

我测试了你的代码,它在iOS 7.1中对我来说很好用。 您可以尝试的是:

制作ViewController工具

<UITextFieldDelegate> 

并设置

textfield.delegate = self;

并且实现以下函数,每当角色应该被更改时(即使是最后一个角色)也会被调用。如果要更改角色,请务必始终返回YES。使用range和textfield.text,您始终可以访问要更改的当前字符:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    return YES;

}