0

我正在将 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 
}
4

0 回答 0