как установить изображение отправителя в представлении чата QuickBlox в swift ios - PullRequest
0 голосов
/ 05 декабря 2018

Я использую quickblok для чата, мой чат работает нормально, но проблема в том, что я хочу поместить изображение отправителя и получателя в контроллер представления чата, но нет экрана раскадровки, поэтому я не могу найти, где мне нужно это сделать.

Вот изображение, как выглядит неподвижный экран чата:

Screen shot

Вот код макета, если это необходимо

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
    }
...