UItextField 文字变化时的监听设置


#pragma mark - UITextFieldDelegate


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

{

    NSString * currentString = [textField.text stringByReplacingCharactersInRange:range withString:string]; //得到输入框的内容

    

    if ([currentString length] > 25) // 25是自定义的字符串的最大长度

    {

        //只显示25个字符

        textField.text = [currentString substringToIndex:25];

        

        // 这个地方可以设置提醒用户输入字符超过最大长度

        

        return NO; // 此时不能改变输入框的值

    }


    return YES; // 能改变输入框的值

}


这种方法发现有一个弊端,如果不是键盘输入,而是根据键盘联想直接更改textField的值,此方法不调用

此时,设置为textField添加事件

[_textField addTarget:self action:@selector(textChange:) forControlEvents:UIControlEventEditingChanged];

//这种方法可以随时监听textField的字符变化



-(void)textChange:(UITextField *)textField{

    // 输入你想要的操作

}




你可能感兴趣的:(UItextField 文字变化时的监听设置)