我目前正在使用JSQMessageViewController并使用firebase表中的数据填充它 - 我按照Firebase网站上提供的Fire-chat示例进行操作。一切正常,除了某些原因,单元格只显示多行文本的第一行,然后将其删除。
我几乎遵循https://github.com/firebase/ios-swift-chat-example
我的传入/传出气泡视图在我的viewdidload中实例化
self.incomingBubble = JSQMessagesBubbleImageFactory().incomingMessagesBubbleImageWithColor(CHAT_GRAY_COLOR)
从我的消息数组中填充单元格
override func collectionView(collectionView: JSQMessagesCollectionView!, messageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageData! {
return self.messages[indexPath.item]
}
然后有很多必需的JSQCollectionView方法,包括:
override func collectionView(collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageBubbleImageDataSource! {
let message = messages[indexPath.item]
if message.senderId() == sender {
return outgoingBubble
}
return incomingBubble
}
如果有人遇到这种情况,我会非常感谢任何帮助。我会在同一时间继续搜索文档
威尔
答案 0 :(得分:1)
检查Message.Hash
。气泡的高度由JSQMessage
确定,因此,如果您创建了自己的继承func messageHash() -> UInt {
return UInt(self.hash)
}
的消息对象,请确保将哈希设置为简单
JSQMessage(senderId: AvatarIdCook, displayName: DisplayNameCook, text: "What is this Black Majic?")
但是,如果您正在实施您的消息,就像正常的I.E。
:data()
答案 1 :(得分:0)
听起来像是一个约束问题,在您从Firebase下载数据后,是否添加了这个?
self.finishReceivingMessageAnimated(true)