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