UITextView中对键盘输入的文本捕获(监听)不到的一种情况
在textView中为了监听文本,从而使用了textView协议进行监听,在随着文本变化而调用的函数的中
- (BOOL)textView:(UITextView )textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString)text;
在使用这个方法的过程中就会出现一种情况是:根据拼音按键输入的文本可以被捕获到,但是如果直接使用键盘记忆下来的词汇,不用通过拼音按键输入的文本就无法被捕获到
像这些在这上面选择文本输入,而不是通过按键搜索词汇进行选择输入,就不会被这个函数捕获到
那么解决方案:
1.使用协议中另一个方法
-(void)textViewDidChange:(UITextView *)textView{
NSLog(@"==%@",textView.text);
}
这个方法就可以完美解决问题
2.使用通知监听文本变化的情况:
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(clicked:) name:UITextViewTextDidChangeNotification object:nil];
这种形式也可以,需要使用哪一个,看个人喜欢