Я включаю MessageKit в свое приложение, наконец-то у меня есть сообщения для отправки и получения, но, к сожалению, все сообщения появляются на одной стороне.
Я напечатал значения массива, и он показывает правильные идентификаторы. На самом экране сообщений отображаются правильные имена пользователей, и когда я показываю идентификаторы на экране, они также являются правильными. Вот снимок экрана и примеры кода ниже.
Вот где определен мой текущийSender:
func currentSender() -> SenderType {
return Sender(senderId: user!["id"] as! String, displayName: user!["username"] as! String)
}
Вот мои сообщенияDisplayDelegate
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
}