iOS 环信SDK聊天会话自定义输入框、替换头像和昵称

                                             自定义输入框

环信集成文档提供了聊天会话输入框自定义方法,如下

iOS 环信SDK聊天会话自定义输入框、替换头像和昵称_第1张图片

但是根据官网提供的方法,能显示出效果,但是View事件被某个图层截取了无法传递,通过与环信技术支持沟通,给出的解决方案是修改EaseChatToolbar.h和EaseChatToolbar.m两个文件。不过并未给出事件为什么无法效应的解释。


iOS 环信SDK聊天会话自定义输入框、替换头像和昵称_第2张图片
文件目录

整个输入栏的UI编写通过- (void)_setupSubviews方法开始的,想做具体的修改通过该方法进行。

iOS 环信SDK聊天会话自定义输入框、替换头像和昵称_第3张图片

比如我们的设计稿如图所示

iOS 环信SDK聊天会话自定义输入框、替换头像和昵称_第4张图片
UI设计效果

我们只需要修改-(void)_setupSubviews方法中部分代码,首先我们需要添加一个控件,这里我用的是UIButton控件,当然还有其他方法可以实现。具体添加的代码如下

iOS 环信SDK聊天会话自定义输入框、替换头像和昵称_第5张图片
添加代码截图

最重要的是最后两行代码,一定要添加。根据环信封装的UI逻辑分析出来的。其他的控件只需要在-(void)_setupSubviews中找到相关控件做相应的资源替换或者添加相关UI代码。

其中recordButton控制中间语音显示的,moreButton控制更多面板的,faceButton控制表情的。想做修改只需要找到相应的控件做逻辑控制就行。

                                                 替换头像和昵称

1:通过自己后台根据用户ID获取用户头像,在聊天页面或者最近联系人界面去请求后台获取相关数据; 

在聊天界面的控制器中(chatViewController)添加代理、协议,实现如下图的方法,需要从服务器获取相应的数据,根据message.from来区分不同的角色,把赋值相应的信息。

iOS 环信SDK聊天会话自定义输入框、替换头像和昵称_第6张图片

2.通过扩展消息显示头像,昵称

暂未尝试这种方案   可以借鉴下面相关资料

http://www.imgeek.org/article/825308555

http://www.jianshu.com/p/5f74288b771a

最后附上Demo地址 https://pan.baidu.com/s/1bpsywZd

你可能感兴趣的:(iOS 环信SDK聊天会话自定义输入框、替换头像和昵称)