需求:
- A与B聊天,A进入与B的会话界面,需要自动填充一段文字,使输入框自适应预输入的文本,就是预填写的文字全部显示不被遮盖;,并使键盘弹出;
思路:
- 1.环信的键盘是自定义的chatToolbar-->遍历拿到EaseTextView
- 2.EaseTextView赋值
- 3.主动调用EaseTextView的代理方法,使其输入框自适应文本内容
- 4.使EaseTextView变成第一响应者
步骤:
1.遵守协议,声明输入框属性
@interface ChatViewController ()<UITextViewDelegate>
@property(nonatomic,strong)EaseTextView *inputView;
@end
2.输入框textView的懒加载
注意:EaseTextView
在chatToolbar
的子控件的子控件,这是个坑
-(EaseTextView *)inputView
{
if (!_inputView) {
for(UIView*view in self.chatToolbar.subviews)
{
// if ([view isKindOfClass:[EaseTextView class]]) {
// _inputView = (EaseTextView *)view;break;
// }
for(UIView*subview in view.subviews)
{
if ([subview isKindOfClass:[EaseTextView class]]) {
_inputView = (EaseTextView *)subview;
break;
}
}
}
}
return _inputView;
}
3.赋值,调用代理方法
self.inputView.text = @"这里就是帮聊天的客户自动填充的文字";
[self.inputView.delegate textViewDidChange:self.inputView];
[self.inputView becomeFirstResponder];