環(huán)信官網(wǎng)提共兩種方式我們采用方法二:從消息擴(kuò)展中獲取昵稱和頭像
昵稱和頭像的獲认骸:把用戶基本的昵稱和頭像的URL放到消息的擴(kuò)展中,通過消息傳遞給接收方茴扁,當(dāng)收到一條消息時(shí)翩概,則能通過消息的擴(kuò)展得到發(fā)送者的昵稱和頭像URL。
1.首先需要在消息實(shí)體信息中 攜帶發(fā)消息者頭像以及昵稱江咳。
在EaseMessageViewController 類中 找到
- (void)sendMessage:(EMMessage*)message isNeedUploadFile:(BOOL)isUploadFile逢净;這個(gè)方法 添加用戶信息實(shí)體 如下代碼。?? ?
?NSMutableDictionary *Muext = [NSMutableDictionary dictionaryWithDictionary:message.ext]; ??
? ? [MuextsetObject:(@"nickname") forKey:@"nickname"];
? ? [MuextsetObject:(@"header") forKey:@"header"];
? ? message.ext= Muext;
第一步攜帶信息完成歼指。
2.需要找到會話界面取出攜帶信息用來展示ui
在EaseBaseMessageCell 中 找到- (void)setModel:(id)model;這個(gè)方法 ?其中有兩步賦值圖片跟昵稱的地方取出 消息實(shí)體?NSDictionary* dic = model.message.ext; 將取出來的值賦上去 爹土,賦值如下代碼:
?[self.avatarView sd_setImageWithURL:[NSURL URLWithString:dic[@"header"]] placeholderImage:model.avatarImage];
? ? _nameLabel.text= dic[@"nickname"];
就完成了聊天室內(nèi)頭像更換。
3.會話列表頭像同步服務(wù)器頭像
跟聊天室一樣的道理 還是取出攜帶消息體來展示踩身,不同的是會話列表不能直接取出消息體胀茵,在EaseConversationCell中?找到- (void)setModel:(id)model;通過“收到的對方發(fā)送的最后一條消息挟阻,也是會話里的最新消息”取出model 中的攜帶信息實(shí)體
NSDictionary* dic =? model.conversation.lastReceivedMessage.ext; 進(jìn)行賦值就可以了?
調(diào)整會話列表高度在.h 中把默認(rèn)的60 ?改為你需要的高度即可琼娘。
更換頭像就是這么簡單,用到的或者喜歡的可以點(diǎn)個(gè)贊赁濒。