Я пытаюсь динамически менять цвет фона чата. После долгих исследований я подумал, что это правильный подход, но я не работаю для меня. Может ли кто-нибудь прояснить это для меня?Динамическое изменение цвета фона для одного чата для чата
В верхней части моего класса у меня есть:
var incomingBubble = JSQMessagesBubbleImageFactory().incomingMessagesBubbleImageWithColor(UIColor(red: 119/255, green: 104/255, blue: 170/255, alpha: 1.0))
let outgoingBubble = JSQMessagesBubbleImageFactory().outgoingMessagesBubbleImageWithColor(UIColor(red: 235/255, green: 63/255, blue: 65/255, alpha: 1.0))
var messages = [JSQMessage]()
Я также создал переопределение, где я думаю, что пузырь может быть изменен.
override func collectionView(collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageBubbleImageDataSource! {
let data = messages[indexPath.row]
switch(data.senderId) {
case self.senderId:
return self.outgoingBubble
default:
if(messageStatus == "Some Unique Value") {
return JSQMessagesBubbleImageFactory().incomingMessagesBubbleImageWithColor(UIColor(red: 119/255, green: 204/255, blue: 250/255, alpha: 1.0))
}
return self.incomingBubble
}
}
Edit: Корректировка кода работоспособного место
ИсходящиеBubble и входящиеBubble являются глобальными настройками, и я надеялся просто изменить один пузырь в реализации делегата. Я думал, что эта строка будет способна изменить пузырь self.incomingBubble.messageBubbleImage.jsq_imageMaskedWithColor (UIColor (красный: 119/255, зеленый: 204/255, синий: 250/255, alpha: 1.0)) – Neil
Вам необходимо вернуть отдельный, вместо того, чтобы модифицировать глобальный – bolnad
Это сделало трюк, спасибо. Редактирование моего кода, чтобы он работал. – Neil