使用 MessageKit 构建的聊天视图永远不会滚动到带有图片的最后一条消息

Posted

技术标签:

【中文标题】使用 MessageKit 构建的聊天视图永远不会滚动到带有图片的最后一条消息【英文标题】:Chat View built with MessageKit never scrolls to last message with a picture 【发布时间】:2021-03-10 17:08:55 【问题描述】:

我正在使用MessageKit 为我的应用程序构建一个聊天视图。此聊天视图将支持图像消息。我目前遇到的问题是,如果最后一条消息是图片消息,则消息将无法正确显示:

我在viewDidLoad 中加载我的所有消息,然后在viewWillAppear 中更新MessagesCollectionView

 override func viewWillAppear(_ animated: Bool) 
        messagesCollectionView.reloadData()
        messagesCollectionView.scrollToLastItem()
    

如何正确显示图像消息?

【问题讨论】:

【参考方案1】:

问题似乎在于这些更新没有在正确的线程上调用;将代码修改为以下解决了该问题:

override func viewWillAppear(_ animated: Bool) 
    DispatchQueue.main.async 
        self.messagesCollectionView.reloadData()
        self.messagesCollectionView.scrollToLastItem()
    

【讨论】:

以上是关于使用 MessageKit 构建的聊天视图永远不会滚动到带有图片的最后一条消息的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 messageKIt 在 swift 5 ios 中创建像这样的自定义单元格吗?

在 inputBarAccessoryView 中按下发送后如何清除 MessageKit inputBar 中的文本

MessageKit 不显示消息输入栏 Swift 5

MessageKit:添加的输入栏按钮仅在我发送消息后出现

在 MessageKit 中 configureAvatarView 无法正常工作

消息线程`MessageKit`swift的左对齐