如何将 messageBottomLabel 放在消息气泡内?
Posted
技术标签:
【中文标题】如何将 messageBottomLabel 放在消息气泡内?【英文标题】:How to put messageBottomLabel inside of message bubble? 【发布时间】:2021-06-27 07:08:30 【问题描述】:我正在使用 messageKit。我想添加消息在 messageBottomLabel 中发送的时间。但是在视觉上它在消息气泡之外。
但我希望它在气泡内,像这样:
我该怎么做?
【问题讨论】:
【参考方案1】:-
您必须隐藏默认的底部标签。 (MessagesLayoutDelegate)
为您要更改的每种消息创建一个自定义单元格。
注册单元格
更改下面的函数以使用自定义单元格。
func customCell(for message: MessageType, 在 indexPath:IndexPath, 在messagesCollectionView: MessagesCollectionView) -> UICollectionViewCell
-
为单元格的内容视图添加标签。
在单元配置中
func 配置(带有消息:MessageType,在 indexPath: IndexPath 和 messagesCollectionView:MessagesCollectionView)
这样设置标签文本:
if let dataSource = messagesCollectionView.messagesDataSource captionLabel.text = dataSource.messageBottomLabelAttributedText(for: message, at: indexPath) else fatalError("Datasource is null!")
-
然后,您必须计算单元格的高度
覆盖 func messageContainerSize(for message: MessageType) -> CGSize
【讨论】:
以上是关于如何将 messageBottomLabel 放在消息气泡内?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UICollectionView 放在 stackView 中?
如何将第一个 Arraylist 放在 Item 中,将第二个 Arraylist 放在 SubItem 中(在 ListView 中)?