我正在使用 JSQMessagesViewController,我编写了继承 JSQMediaItem 的自定义照片和语音 MediaItem,这两种消息类型的 mediaView 是不同的。发送/接收这两种消息时一切正常,但是当我使用循环加载一些历史消息时,它显示不正确。
似乎所有的 mediaMessage 都重用了第一个 mediaMessage 的单元格大小。但是当我发送照片/语音消息时,新发送的消息会正确显示。
我的 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)
}
我真的很困惑,任何建议和建议将不胜感激!