如何在JSQMessageViewController中添加用户图片Swift 4

How to add user image in JSQMessageViewController Swift 4

我正在为我的聊天应用程序使用 JSQMessageViewController。尝试了很多设置传入和传出消息用户图像。如果有人使用这个库,请帮我设置用户图像。

提前致谢。

您可以在 "JSQMessagesViewController" 上使用 "JSQMessagesAvatarImage" 类型的变量,一个用于发送者,一个用于接收者。在展示您的 "JSQMessagesViewController" 之前,您可以使用 JSQAvatarImageFactory 初始化方法将图像分配给这些变量,该方法采用 UIImage 和 size ,如下所示:

chatVc.senderImg = [JSQMessagesAvatarImageFactory avatarImageWithImage:senderImage diameter:80] 
chatVc.receiverImg = [JSQMessagesAvatarImageFactory avatarImageWithImage:receiverImage diameter:80]

比在数据源方法 "JSQMessagesViewController" 中 "avatarImageDataForItemAtIndexPath" 你可以 return 像这样的发送者或接收者头像:

- (id<JSQMessageAvatarImageDataSource>)collectionView:(JSQMessagesCollectionView *)collectionView avatarImageDataForItemAtIndexPath:(NSIndexPath *)indexPath{

JSQMessage *message = [self.messages objectAtIndex:indexPath.item];

if ([message.senderId isEqualToString:self.senderId])
    return _senderImg;
else
    return _receiverImg;}

这段代码在objective-C中,我在swift中没有,但我相信你可以很容易地将它转换成swift。