聊天时要显示用户的头像,昵称我们可以使用扩展消息来实现
1,在环信EaseMessageViewController类里找到,在发送消息的时候加上扩展消息
- (void)sendTextMessage:(NSString *)text
- (void)sendLocationMessageLatitude:(double)latitude
longitude:(double)longitude
andAddress:(NSString *)address
- (void)sendImageMessageWithData:(NSData *)imageData
- (void)sendImageMessage:(UIImage *)image
- (void)sendVoiceMessageWithLocalPath:(NSString *)localPath
duration:(NSInteger)duration
- (void)sendVideoMessageWithURL:(NSURL *)url
在这几个方法里加上:
NSDictionary * ext=@{@"fromNickname":NickName,@"fromAvatar":Portrait,@"toNickname":self.chatNickname,@"toAvatar":self.portrait};//fromNickname当前用户的昵称;fromAvatar当前用户头像;(toNickname对方昵称;toAvatar对方头像)括号里参数是用来显示最近联系人时用的
2,显示头像,昵称时 在EaseBaseMessageCell 找到
- (void)setModel:(id)model
将原来显示头像,昵称的地方换成
if (model.message.ext[@"fromAvatar"]) {
[self.avatarView sd_setImageWithURL:[NSURL URLWithString:model.message.ext[@"fromAvatar"]] placeholderImage:defaultImage120];
} else {
self.avatarView.image = defaultImage120;
}
_nameLabel.text = model.message.ext[@"fromNickname"];
以上聊天时,就能显示双方头像了
3,最近联系人列表那边显示头像,昵称
找到EaseConversationCell
- (void)setModel:(id)model
将原来昵称,头像换成
NSLog(@"%@",_model.conversation.latestMessageFromOthers.ext);//获取最近发送者的扩展消息
NSLog(@"%@",_model.conversation.latestMessage.ext);//获取最新一条消息的扩展消息
if ([_model.conversation.latestMessageFromOthers.ext[@"fromNickname"] length] > 0) {
self.titleLabel.text = model.conversation.latestMessageFromOthers.ext[@"fromNickname"];
}//对方发来的最新一条消息
else{
self.titleLabel.text = model.conversation.latestMessage.ext[@"toNickname"];
}////如果你发送消息,对方没有回复
if (self.showAvatar)
{
if ([_model.conversation.latestMessageFromOthers.ext[@"fromAvatar"] length] > 0)
{
[self.avatarView.imageView sd_setImageWithURL:[NSURL URLWithString:_model.conversation.latestMessageFromOthers.ext[@"fromAvatar"]] placeholderImage:defaultImage120];
} //对方发来的最新一条消息
else
{
[self.avatarView.imageView sd_setImageWithURL:[NSURL URLWithString:_model.conversation.latestMessage.ext[@"toAvatar"]] placeholderImage:defaultImage120];
}////如果你发送消息,对方没有回复
}
以上最近联系人列表就能显示头像和昵称了
注:如果要使用扩展消息来获取用户的头像和昵称,安卓和iOS要统一下 【fromNickname当前用户的昵称;fromAvatar当前用户头像;(toNickname对方昵称;toAvatar对方头像)括号里参数是用来显示最近联系人时用的】这些参数,要不然不统一会有一方收不到头像,昵称
网友评论