JsqMessageViewController视图仅显示单行文本

时间:2016-04-27 04:43:16

标签: ios swift jsqmessagesviewcontroller

我目前正在使用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

}

如果有人遇到这种情况,我会非常感谢任何帮助。我会在同一时间继续搜索文档

威尔

2 个答案:

答案 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)