我正在将 MessageKit 合并到我的应用程序中,我终于可以发送和接收消息,但不幸的是所有消息都出现在同一侧。
我已经打印了数组的值,它显示了正确的 ID。在实际的消息屏幕上显示了正确的用户名,当我在屏幕上显示 ID 时,这些用户名也是正确的。这是下面的屏幕截图和代码示例。
这是我的 currentSender 定义的地方:
func currentSender() -> SenderType {
return Sender(senderId: user!["id"] as! String, displayName: user!["username"] as! String)
}
这是我的 MessagesDisplayDelegate
extension DirectMessageViewController: MessagesDisplayDelegate {
func backgroundColor(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> UIColor {
return isFromCurrentSender(message: message) ? colorBrandBlue : .incomingMessage
}
func shouldDisplayHeader(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> Bool {
return false
}
func messageStyle(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> MessageStyle {
let corner: MessageStyle.TailCorner = isFromCurrentSender(message: message) ? .bottomRight : .bottomLeft
let borderColor:UIColor = isFromCurrentSender(message: message) ? .black: .purple
return .bubbleTailOutline(borderColor, corner, .curved)
}
}
func isFromCurrentSender(message: MessageType) -> Bool {
return message.sender.senderId == currentSender().senderId
}