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

问题描述

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

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

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

如何让图片信息正确显示

enter image description here

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...