TXIMSDK_TUIKit_iOS 自定義消息踩過的坑

我用的SDK版本pod 'TXIMSDK_TUIKit_iOS', '~> 5.0.10'

第一, pod導(dǎo)入有幾率會導(dǎo)入失敗, 當(dāng)時(shí)沒有想著寫簡書, 但是折騰不很久, 最終解決是因?yàn)?在pod文件中增加了pod 'ISVImageScrollView', '~> 0.1.2'
這是TXIMSDK_TUIKit_iOS中會自動(dòng)引用的一個(gè)庫, 謹(jǐn)記, 導(dǎo)入順序一定是
pod 'TXIMSDK_TUIKit_iOS', '~> 5.0.10'
pod 'ISVImageScrollView', '~> 0.1.2'

第二, 騰訊畢竟是騰訊, 針對自定義消息給開發(fā)者的門檻非常低, 但是.... 有點(diǎn)麻煩!
首先你針對自己的需求, 需要多少種自定義消息就先對應(yīng)創(chuàng)建的Cell和CellData
每一個(gè)Cell和CellData為一組, 負(fù)責(zé)一個(gè)自定義消息控件的賦值, 交互與高度的自適應(yīng), 重點(diǎn)是必須繼承TUIMessageCell和TUIMessageCellData

第三, TUIMessageCell中, 自帶一個(gè)isSelf的屬性, 文檔中說明是用來區(qū)分當(dāng)前發(fā)送的消息是否是自己發(fā)送的, 但是!!! 這個(gè)屬性僅限在當(dāng)前頁面發(fā)送消息時(shí)有用, 當(dāng)你返回到上一個(gè)頁面時(shí), 這個(gè)屬性的值永遠(yuǎn)是false, 所以這個(gè)屬性無法解決某些需要判斷當(dāng)前這條消息是否是自己發(fā)送的需求, 我使用的是messageData.direction, 這個(gè)屬性可以點(diǎn)進(jìn)去看一下, 兩個(gè)類型, 完美解決這個(gè)問題

第四, 自適應(yīng)高度, Oc很多年沒寫了, 這里不做贅述, 但是我相信swift的小伙伴在做UI控件約束的時(shí)候還是習(xí)慣在自定義cell中初始化一個(gè)setupConstraints的方法在這里做約束, 即便是有多行文字的問題, snp僅需要你配置一下最大臨界點(diǎn)即可, 但是騰訊大大這方面我就不太清楚是怎么想的, 也許是Oc與swift之間微妙的不同, 他們采取的方式是在剛才我們自定義消息中初始化的TUIMessageCellData里需要重寫一個(gè)contentSize()的方法, 假設(shè)你有兩個(gè)Label 的字符串是存在多行可能的, 那么你就要在這里計(jì)算這兩個(gè)Label對應(yīng)字符串的高度, 在這里做修改, 然后才能為整個(gè)自定義消息適配高度, 這個(gè)真的坑了我很久, 文檔也沒有說明的很清楚, 所以... 當(dāng)你發(fā)現(xiàn)你自定義的消息在聊天界面無法自適應(yīng)高度的時(shí)候, 回去TUIMessageCellData看看contentSize()方法有沒有重寫, 有沒有賦值

以上四點(diǎn)是本次對接騰訊云get到的一些東西, 分享給大家, 下面我把實(shí)現(xiàn)自定義消息的代碼截圖出來
1, 初始化CustomMessageData, 并繼承TUIMessageCellData


image.png

2, 初始化MessageInterviewCell, 并繼承TUIMessageCell
這里的代碼沒什么新鮮的, 跟我們平時(shí)初始化自定義Cell沒什么區(qū)別, 僅僅只是賦值的時(shí)候需要用到騰訊SDK中的fill()方法, 如圖:


image.png

3, 視圖控制器中設(shè)置代理,
messageController.delegate = self, 并實(shí)現(xiàn)兩個(gè)方法, 我暫時(shí)沒有做封裝, 但這樣看起來最直觀


image.png

4, 配置自定義消息的數(shù)據(jù), 最終調(diào)用sendMessage()方法發(fā)送消息即可


image.png

其中有兩個(gè)方法是我封裝過的, 一個(gè)是THeaderManage.dictionaryJsonData(), 這個(gè)就是字典轉(zhuǎn)Data的方法, 百度即可, 另一個(gè)是:


image.png

這個(gè)在騰訊的文檔中有, 如果需要可以留言給我, 有問必回, 不喜勿噴, 謝謝
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浓恳,一起剝皮案震驚了整個(gè)濱河市助琐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吨艇,老刑警劉巖杠园,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡野蝇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門括儒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绕沈,“玉大人,你說我怎么就攤上這事帮寻≌Ш” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵固逗,是天一觀的道長浅蚪。 經(jīng)常有香客問我,道長烫罩,這世上最難降的妖魔是什么掘鄙? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮嗡髓,結(jié)果婚禮上操漠,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好浊伙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布撞秋。 她就那樣靜靜地躺著,像睡著了一般嚣鄙。 火紅的嫁衣襯著肌膚如雪吻贿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天哑子,我揣著相機(jī)與錄音舅列,去河邊找鬼。 笑死卧蜓,一個(gè)胖子當(dāng)著我的面吹牛帐要,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弥奸,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼榨惠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盛霎?” 一聲冷哼從身側(cè)響起赠橙,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎愤炸,沒想到半個(gè)月后期揪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡规个,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年横侦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绰姻。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖引瀑,靈堂內(nèi)的尸體忽然破棺而出狂芋,到底是詐尸還是另有隱情,我是刑警寧澤憨栽,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布帜矾,位于F島的核電站,受9級特大地震影響屑柔,放射性物質(zhì)發(fā)生泄漏屡萤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一掸宛、第九天 我趴在偏房一處隱蔽的房頂上張望死陆。 院中可真熱鬧,春花似錦、人聲如沸措译。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽领虹。三九已至规哪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間塌衰,已是汗流浹背诉稍。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留最疆,地道東北人杯巨。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像肚菠,于是被迫代替她去往敵國和親舔箭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容