奇怪的UIControlEventEditingChanged行为?

时间:2012-11-15 00:01:03

标签: ios text uitextfield uicontrolevents

我正在尝试使用UIControlEventEditingChanged在我的UITextField中发生文本更改时注册更新。无论发生什么事都很奇怪,只有在我删除UITextField中的字符时才会调用handlefieldTextChanged,而不是在我输入内容时调用。

这是我的代码:

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

- (IBAction)handlefieldTextChanged {
    NSLog(@"handleChange");
}

现在handlefieldTextChanged在头文件中声明并且是一个IBAction,只是为了看看在Interface Builder中连接它是否会修复任何东西,但它没有。

无论如何是导致这种情况发生的原因?无论我尝试什么,我都无法获得真正的文本字段更改更新。

EDIT1:

- (NSString *)removeBadWordsFromString:(NSString *)string {
    for (NSString * word in badWords){
        string = [string stringByReplacingOccurrencesOfString:word withString:@"" 
                                                      options:NSCaseInsensitiveSearch range:NSMakeRange(0, string.length)];
    }
    return string;
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    [textField setText:[self removeBadWordsFromString:[NSString stringWithFormat:@"%@%@", textField.text, string]]];
    return (string.length == 0);
}

0 个答案:

没有答案