Создать метод, инициализировать цвет для отправителя и получателя, как показано ниже:
- (JSQMessagesBubbleImage *) setupOutgoingBubble {
JSQMessagesBubbleImageFactory *bubbleImageFactory = [[JSQMessagesBubbleImageFactory alloc] init];
JSQMessagesBubbleImage * imgBubble = [bubbleImageFactory outgoingMessagesBubbleImageWithColor:[UIColor blueColor]];//jsq_messageBubbleBlueColor return imgBubble;
return imgBubble;
}
- (JSQMessagesBubbleImage *) setupIncomingBubble {
JSQMessagesBubbleImageFactory *bubbleImageFactory = [[JSQMessagesBubbleImageFactory alloc] init];
JSQMessagesBubbleImage * imgBubble = [bubbleImageFactory outgoingMessagesBubbleImageWithColor:[UIColor greenColor]];//jsq_messageBubbleBlueColor return imgBubble;
return imgBubble;
}
- (void)setupBubbleColors {
self.incomingBubbleImageData = [self setupIncomingBubble];
self.outgoingBubbleImageData = [self setupOutgoingBubble];
}
И вызвать метод выше в viewDidLoad
, как показано ниже
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self setupBubbleColors];
}
И идентификатор JSQMessageBubbleImageDataSource
делегат возвращает соответствующее изображение, как показано ниже
- (id<JSQMessageBubbleImageDataSource>)collectionView:(JSQMessagesCollectionView *)collectionView
messageBubbleImageDataForItemAtIndexPath:(NSIndexPath *)indexPath {
Message *message = [_messages objectAtIndex:indexPath.row];
NSLog(@"%@", message.type);
if(message.isOwnMessageValue) {
return self.outgoingBubbleImageData;
}
else return self.incomingBubbleImageData;
}
Выходные данные будут выглядеть примерно так: