我的应用中有一个文本字段。有一种方法可以监听textView中的更改。
- (void) textViewDidChange:(UITextView *)textView {
//Some code that imports data from textView to collection view
[self.collectionView reloadData];
}
在textView中输入时,它的效果非常好。但是当我按下语音听写按钮并开始口述时,在第一段语音成为文本后,听写就会中止。换句话说,在调用内部- (void) textViewDidChange:(UITextView *)textView
和[self.collectionView reloadData];
之后。
我检查过堕胎是由[self.collectionView reloadData];
直接造成的。如果我评论这一行,我可以尽可能多地指挥。但如果它被调用,语音听写就会中止,你必须再次按下听写按钮。
有没有人知道如何解决堕胎问题?
回应:@ nikolay-shmyrev:
感谢您的评论。
我正在使用JSQMessagesViewController
我刚添加了一行
self.inputToolbar.contentView.textView.delegate = self;
和方法:
- (void) textViewDidChange:(UITextView *)textView {
[self.collectionView reloadData];
}
在viewDidLoad
中使用到DemoMessagesViewController.m
方法来说明问题。 (可以检查我的问题的示例https://github.com/Marindrew/JSQMessagesViewController,当你启动应用程序时,通过故事板打开JSQMessagesViewController并使用键盘开始语音听写。它在第一个单词后停止)