iOS 设备上,九宫格输入法下,输入@符号等标点符号,系统textfield的代理方法调用多次
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"%@",string);
return YES;
}
问题: 如何避免代理方法调用多次问题???
现阶段可以想到的解决方式: 定义一个bool变量记录,当跳转条件达成并且此布尔值为false就跳转并设置为true,当再次回到就在viewWillAppear中重置为false
重点
各位道友有没有好的解决方式或者遇到同样问题的知道根本原因的
有一个方案,监听他改变就好了。
记得要移除监听。
[textField addTarget:self action:@selector(textFieldTextChange:) forControlEvents:UIControlEventEditingChanged];