? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?自定義輸入框
環(huán)信集成文檔提供了聊天會(huì)話輸入框自定義方法,如下

但是根據(jù)官網(wǎng)提供的方法,能顯示出效果,但是View事件被某個(gè)圖層截取了無法傳遞,通過與環(huán)信技術(shù)支持溝通,給出的解決方案是修改EaseChatToolbar.h和EaseChatToolbar.m兩個(gè)文件。不過并未給出事件為什么無法效應(yīng)的解釋。

整個(gè)輸入欄的UI編寫通過- (void)_setupSubviews方法開始的,想做具體的修改通過該方法進(jìn)行。

比如我們的設(shè)計(jì)稿如圖所示

我們只需要修改-(void)_setupSubviews方法中部分代碼,首先我們需要添加一個(gè)控件,這里我用的是UIButton控件,當(dāng)然還有其他方法可以實(shí)現(xiàn)。具體添加的代碼如下

最重要的是最后兩行代碼,一定要添加。根據(jù)環(huán)信封裝的UI邏輯分析出來的。其他的控件只需要在-(void)_setupSubviews中找到相關(guān)控件做相應(yīng)的資源替換或者添加相關(guān)UI代碼。

其中recordButton控制中間語音顯示的,moreButton控制更多面板的,faceButton控制表情的。想做修改只需要找到相應(yīng)的控件做邏輯控制就行。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?替換頭像和昵稱
1:通過自己后臺(tái)根據(jù)用戶ID獲取用戶頭像,在聊天頁面或者最近聯(lián)系人界面去請(qǐng)求后臺(tái)獲取相關(guān)數(shù)據(jù);?
在聊天界面的控制器中(chatViewController)添加代理、協(xié)議,實(shí)現(xiàn)如下圖的方法,需要從服務(wù)器獲取相應(yīng)的數(shù)據(jù),根據(jù)message.from來區(qū)分不同的角色,把賦值相應(yīng)的信息。

2.通過擴(kuò)展消息顯示頭像,昵稱
暫未嘗試這種方案 ? 可以借鑒下面相關(guān)資料
http://www.imgeek.org/article/825308555
http://www.itdecent.cn/p/5f74288b771a
最后附上Demo地址 https://pan.baidu.com/s/1bpsywZd