Я использую messagekit и firebase, чтобы создать приложение с тремя различными вкладками обмена сообщениями. Каждый просмотр MessageKit загружается в контейнер. Моя проблема заключается в том, что строка ввода Messagekit не отображается. Я добавил функцию viewDidLoad () и функцию ввода ниже вместе с другими изображениями. Дайте мне знать, если у вас есть идеи, я уже пробовал несколько форумов.
Это проблема в iPhone симуляторе
Это мой макет раскадровки.
override func viewDidLoad() {
super.viewDidLoad()
self.title = user2Name ?? "Chat"
navigationItem.largeTitleDisplayMode = .never
maintainPositionOnKeyboardFrameChanged = true
messageInputBar.delegate = self
messagesCollectionView.messagesDataSource = self
messagesCollectionView.messagesLayoutDelegate = self
messagesCollectionView.messagesDisplayDelegate = self
let db2 = Firestore.firestore().collection("Users").document(currentUser.uid)
db2.getDocument { (document, error) in
if let document = document, document.exists {
let dataDescription = document.data()!["matches"]! as! [Any]
self.user2UID = dataDescription[0] as! String
self.loadChat()
} else {
print("Document does not exist")
self.loadChat()
}
}
}
func inputBar(_ inputBar: InputBarAccessoryView, didPressSendButtonWith text: String) {
let message = Message(id: UUID().uuidString, content: text, created: Timestamp(), senderID: currentUser.uid, senderName: currentUser.displayName!)
//messages.append(message)
insertNewMessage(message)
save(message)
inputBar.inputTextView.text = ""
messagesCollectionView.reloadData()
messagesCollectionView.scrollToBottom(animated: true)
}