0

我正在使用 JSQMessagesViewController,我编写了继承 JSQMediaItem 的自定义照片和语音 MediaItem,这两种消息类型的 mediaView 是不同的。发送/接收这两种消息时一切正常,但是当我使用循环加载一些历史消息时,它显示不正确。

屏幕截图1

似乎所有的 mediaMessage 都重用了第一个 mediaMessage 的单元格大小。但是当我发送照片/语音消息时,新发送的消息会正确显示。

截屏2

我的 cellForItemAtIndexPath 方法如下:

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = super.collectionView(collectionView, cellForItemAtIndexPath: indexPath)
    return cell
}

消息加载代码:

for msg in msgs {
    let jsqMessage = self.genJSQMessage(msg)
    self.messages.append(jsqMessage)
    self.finishSendingMessageAnimated(true)
}

我真的很困惑,任何建议和建议将不胜感激!

4

1 回答 1

0

我发现我没有覆盖 JSQMediaItem 中的 mediaHash() 函数。

于 2015-10-09T00:56:07.613 回答