项目中遇到的奇怪小bug
#pragma mark - UITextViewDelegate
- (BOOL)textViewShouldBeginEditing:(UITextView*)textView {
return YES;
}
- (void)textViewDidBeginEditing:(UITextView*)textView {
self.currentType = ISIMInputToolbarShowTypeText;
}
// 禁用富文本的长按效果
- (BOOL)textView:(UITextView*)textView
shouldInteractWithTextAttachment:(NSTextAttachment*)textAttachment
inRange:(NSRange)characterRange {
// 解决ios14.1,输入框内只有纯表情时无法唤起输入框的问题
if (![textView isFirstResponder]) {
[textView becomeFirstResponder];
}
return NO;
}
- (void)textViewDidChange:(UITextView*)textView {
}
- (BOOL)textView:(UITextView*)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString*)text {
return YES;
}
bug点
UITextView在ios14.1系统的手机上,如果输入框输入的是纯表情富文本,当把键盘隐藏后再次点击输入框时,textView只响应了shouldInteractWithTextAttachment方法textViewDidBeginEditing及textViewShouldBeginEditing 方法均不执行,且[textView isFirstResponder] ==NO,导致无法唤起系统键盘,输入框无法使用。