UIControlEventEditingChanged 事件触发两次

因项目需求做键盘输入时,实时根据输入的文字,列表显示搜索的内容,

[UITextField addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged];

输入汉字时,会触发两次自定的请求

解决方法:输入内容时,仅在不是高亮状态下获取输入的文字

 - (void)textFieldChanged:(UITextField *)textField {
     UITextRange *selectedRange = textField.markedTextRange;
     if (selectedRange == nil || selectedRange.empty) {
           NSLog(@"selectedRange text = %@", textField.text);
           // 自动义请求
    }
 }  

你可能感兴趣的:(UIControlEventEditingChanged 事件触发两次)