我试图使项目尽可能简单…因为我想我确实忘记了一些东西,但我不知道是什么,我挣扎了2个小时....
你可以在屏幕上看到:视图被加载,除了消息。请在这里找到我的代码:
import UIKit
import MessageKit
struct Sender: SenderType {
var senderId: String
var displayName: String
}
struct Message: MessageType {
var sender: MessageKit.SenderType
var messageId: String
var sentDate: Date
var kind: MessageKit.MessageKind
}
class ViewController: MessagesViewController {
var messages = [Message]()
let currentUser = Sender(senderId: "myId", displayName: "Mark")
override func viewDidLoad() {
super.viewDidLoad()
messagesCollectionView.messagesDataSource = self
messagesCollectionView.messagesLayoutDelegate = self
messagesCollectionView.messagesDisplayDelegate = self
messages.append(Message(sender: currentUser, messageId: "123", sentDate: Date().addingTimeInterval(-86400) , kind: .text("Hey Vivaan, You are going to influence")))
messages.append(Message(sender: currentUser, messageId: "143", sentDate: Date().addingTimeInterval(-86405) , kind: .text("Hey Vivaan, You are going to influence")))
messages.append(Message(sender: currentUser, messageId: "153", sentDate: Date().addingTimeInterval(-86404) , kind: .text("Hey Vivaan, You are going to influence")))
messages.append(Message(sender: currentUser, messageId: "163", sentDate: Date().addingTimeInterval(-86403) , kind: .text("Hey Vivaan, You are going to influence")))
}
}
extension ViewController: MessagesDataSource {
var currentSender: MessageKit.SenderType {
return currentUser
}
func messageForItem(at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> MessageType {
return messages[indexPath.section]
}
func numberOfSections(in messagesCollectionView: MessagesCollectionView) -> Int {
return messages.count
}
}
extension ViewController: MessagesDisplayDelegate, MessagesLayoutDelegate { }
我确实阅读了所有的文档,并查看了示例。我觉得还行。
谢谢你的帮助
应用图片
这对我有帮助
创建并粘贴这个函数到viewDidload
func loadFirstMessages() {
DispatchQueue.main.async {
self.messagesCollectionView.reloadData()
self.messagesCollectionView.scrollToLastItem(animated: false)
}
}