環(huán)信 - 進(jìn)階篇之自定義cell(一)
時(shí)隔這么久怀估,終于花時(shí)間把第二種解決辦法提供給大家蒜茴,希望大家有好的建議,直接在下方提出來坠宴。言歸正傳,接著《環(huán)信 - 進(jìn)階篇之自定義cell(一)》第一篇cell自定義绷旗,這里給大家提供第二種自定義cell處理方法喜鼓。
以紅包為例:
(建議看一看)自定義cell無非就是根據(jù)不同的會話題類型去展示我們想要的cell視圖,但是系統(tǒng)目前只提供了固定的類型衔肢,我們?nèi)绻枰故咀约涸O(shè)計(jì)的cell視圖庄岖,那么系統(tǒng)的就遠(yuǎn)遠(yuǎn)不能滿足我們的需求,從而ext(拓展項(xiàng))就成為了目前解決的最好辦法角骤,我們把自己定義好的類型加入到拓展項(xiàng)里面隅忿,在我們發(fā)送和接收的時(shí)候,就從拓展項(xiàng)里拿出解析邦尊,從而我們就能準(zhǔn)確的知道對應(yīng)會話題是哪一類型了背桐。
廢話不多講,直接上步驟:
1胳赌、創(chuàng)建一個(gè)聊天VC,繼承EaseMessageViewController 牢撼,當(dāng)你點(diǎn)擊別人發(fā)來的消息或者你發(fā)消息給別人時(shí),直接跳到你寫的VC去
2疑苫、重寫UITableViewCell和CellHeight環(huán)信官方解釋
3、繼承EaseBaseMessageCell重寫一個(gè)cell纷责,如果不知道cell里面怎么寫了可以仿照EaseMessageTimeCell的樣式去寫捍掺,里面無非就是根據(jù)model去加載自定義的BubbleView,及跟新BubbleView內(nèi)部的布局再膳。
4挺勿、接下來就是自定義BubbleView(環(huán)信BubbleView這塊暫不支持其他適配,所以還是老老實(shí)實(shí)用系統(tǒng)適配方法把N蛊狻2黄俊),更新margin和創(chuàng)建控件都沒什么可講的灾杰,就是適配需要自己慢慢調(diào)整樣式蚊丐,
其他:
(1)紅包領(lǐng)取后會有提示某某已領(lǐng)取或者已過期
看了截圖就知道我要講什么了把,對無非就是和時(shí)間提示差不多嘛艳吠,也是自定義cell麦备,大家可以參照時(shí)間提示的去弄,不想太麻煩就直接label富文本。還是不懂下面截圖凛篙,還不懂可以去demo中找對應(yīng)地方黍匾。
(2)發(fā)送紅包時(shí)加背景圖片太麻煩
想偷懶直接讓后臺切一個(gè)紅包氣泡給你,勤快的話就自己代碼切圖慢慢搞呛梆。下面的是氣泡加載代碼锐涯,切記,普通會話題時(shí)記得加載正常的氣泡填物。
[[EaseBaseMessageCell appearance] setSendBubbleBackgroundImage:[[UIImage imageNamed:@"EaseUIResource.bundle/chat_sender_bg"] stretchableImageWithLeftCapWidth:5 topCapHeight:35]];
? ? [[EaseBaseMessageCell appearance] setRecvBubbleBackgroundImage:[[UIImage imageNamed:@"EaseUIResource.bundle/chat_receiver_bg"] stretchableImageWithLeftCapWidth:35 topCapHeight:35]];
這里還給大家說一種需求:(仿淘寶優(yōu)惠券全庸、猜你喜歡視圖或者為付款提示展示)
未付款和商品價(jià)格介紹
很簡單,自定義cell也能輕松解決當(dāng)前需求融痛,不過具體還得你們自己去琢磨壶笼,我只給你們提供思路及處理方法。
注意:Bug處理
1雁刷、如果出現(xiàn)視圖混亂覆劈,檢查是否有設(shè)置自定義的reuseIdentifier,詳細(xì)模仿EaseMessageTimeCell
2.如果氣泡上的點(diǎn)擊事件無法實(shí)現(xiàn)沛励,請查看是否打開人機(jī)交互或者重寫消息點(diǎn)擊回調(diào)
目前只想到寫這么多责语,如果大家有好的建議,可以回復(fù)我目派,我會及時(shí)更新到本文章中并注明出處及作者坤候,歡迎大家的指點(diǎn),有不足之處敬請諒解企蹭。