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

时间:2018-08-03 04:55:13

标签: ios iphone swift swift4 jsqmessagesviewcontroller

我在聊天应用程序中使用JSQMessageViewController。尝试了大量设置传入和传出消息用户的图像。如果有人使用此库,请帮助我设置用户图像。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可能必须在“ JSQMessagesViewController”上设置类型为“ JSQMessagesAvatarImage”的变量,一个用于发送者,另一个用于接收者。在呈现“ JSQMessagesViewController”之前,您可以使用JSQAvatarImageFactory初始化器方法将这些图像分配给变量,该方法采用UIImage和size,如下所示:

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

比在dataSource方法“ avatarImageDataForItemAtIndexPath”中的“ JSQMessagesViewController”内部,您可以像这样返回发送方或接收方头像:

- (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中,我没有迅速使用它,但是我相信您可以轻松地将其转换为迅速使用。