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

Chat View built with MessageKit never scrolls to last message with a picture

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

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

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

如何正确显示图像消息?

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

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