0
我正在尝试动态更改聊天气泡背景。经过大量研究后,我认为这是正确的方法,但我不适合我。任何人都可以为我解决这个问题吗?动态更改单个聊天气泡的背景颜色
在我的课上,我有:
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
}
}
编辑:代码更正在可行的地方
outgoingBubble和incomingBubble是全局设置,我希望只是在委托实现中更改单个泡泡。我认为这行可以改变气泡self.incomingBubble.messageBubbleImage.jsq_imageMaskedWithColor(UIColor(red:119/255,green:204/255,blue:250/255,alpha:1.0)) – Neil
您需要返回一个单独一个,而不是修改全局的 – bolnad
这样做的窍门,谢谢。编辑我的代码,使其工作。 – Neil