I'm incorporating MessageKit into my app, I've finally got messages to send and receive but unfortunately all messages appear on the same side.
I've printed the values of the array and it's showing the correct IDs. On the actual message screen the correct usernames are showing and when I show the IDs on the screen those are correct as well. Here is a screen shot and code samples below.
Here is where my currentSender is defined:
func currentSender() -> SenderType {
return Sender(senderId: user!["id"] as! String, displayName: user!["username"] as! String)
}
Here is my 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
}