Я использую quickblok для чата, мой чат работает нормально, но проблема в том, что я хочу поместить изображение отправителя и получателя в контроллер представления чата, но нет экрана раскадровки, поэтому я не могу найти, где мне нужно это сделать.
Вот изображение, как выглядит неподвижный экран чата:
Вот код макета, если это необходимо
override func collectionView(_ collectionView: QMChatCollectionView!, layoutModelAt indexPath: IndexPath!) -> QMChatCellLayoutModel {
var layoutModel: QMChatCellLayoutModel = super.collectionView(collectionView, layoutModelAt: indexPath)
layoutModel.avatarSize = CGSize(width: 0, height: 0)
layoutModel.topLabelHeight = 0.0
layoutModel.spaceBetweenTextViewAndBottomLabel = 5
layoutModel.maxWidthMarginSpace = 20.0
guard let item = self.chatDataSource.message(for: indexPath) else {
return layoutModel
}
let viewClass: AnyClass = self.viewClass(forItem: item)! as AnyClass
if viewClass === QMChatIncomingCell.self || viewClass === QMChatAttachmentIncomingCell.self //|| viewClass === QMVideoIncomingCell.self
{
if self.dialog.type != QBChatDialogType.private {
let topAttributedString = self.topLabelAttributedString(forItem: item)
let size = TTTAttributedLabel.sizeThatFitsAttributedString(topAttributedString, withConstraints: CGSize(width: collectionView.frame.width - kMessageContainerWidthPadding, height: CGFloat.greatestFiniteMagnitude), limitedToNumberOfLines:1)
layoutModel.topLabelHeight = size.height
//layoutModel.topLabelHeight = 0
}
layoutModel.spaceBetweenTopLabelAndTextView = 5
}
var size = CGSize.zero
if self.detailedCells.contains(item.id!) {
let bottomAttributedString = self.bottomLabelAttributedString(forItem: item)
size = TTTAttributedLabel.sizeThatFitsAttributedString(bottomAttributedString, withConstraints: CGSize(width: collectionView.frame.width - kMessageContainerWidthPadding, height: CGFloat.greatestFiniteMagnitude), limitedToNumberOfLines:0)
}
layoutModel.bottomLabelHeight = floor(size.height)
return layoutModel
}