2

我正在使用 messageKit。我想添加消息在 messageBottomLabel 中发送的时间。但是在视觉上它在消息气泡之外。

在此处输入图像描述

但我希望它位于气泡内,如下所示:

在此处输入图像描述

我该怎么做?

4

1 回答 1

1
  1. 您必须隐藏默认的底部标签。(MessagesLayoutDelegate)
  2. 为您要更改的每种消息创建一个自定义单元格。
  3. 注册单元格
  4. 更改下面的函数以使用自定义单元格。

func customCell(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> UICollectionViewCell

  1. 将标签添加到单元格的内容视图。
  2. 在单元配置

func 配置(带有消息:MessageType,在 indexPath:IndexPath 和 messagesCollectionView:MessagesCollectionView)

像这样设置标签文本:

    if let dataSource = messagesCollectionView.messagesDataSource {
        captionLabel.text = dataSource.messageBottomLabelAttributedText(for: message, at: indexPath)
    } else { fatalError("Datasource is null!") }
  1. 然后,您必须计算单元格的高度

覆盖 func messageContainerSize(for message: MessageType) -> CGSize

于 2022-01-25T11:18:43.763 回答