He integrado JSQMessagesViewController Para Chat, tengo un problema para diferenciar el mensaje del remitente y el receptor que se muestran del lado derecho y del lado izquierdo. ¿Cómo puedo resolver este problema?

0
Ajay Sangani 17 ene. 2018 a las 11:28

3 respuestas

La mejor respuesta

Debe configurar su propio userId en self.senderId primero como su condición en messageBubbleImageDataForItemAt al ir en otra parte. Es por eso que todas las burbujas se muestran solo en el lado izquierdo.

0
iVarun 17 ene. 2018 a las 11:43

Configuración del controlador de chat:

1): Si está utilizando JSQMessagesViewController, su controlador de chat debe heredarse de JSQMessagesViewController.

2): JSQMessagesViewController tiene atributos de nombres senderId, senderDisplayName, myImage. Entonces, asigna estos atributos con el ID de usuario de inicio de sesión, displayName y Image like (self.senderId = loginUser.id, etc.), porque el usuario de inicio de sesión es el remitente.

  self.senderId = loginUser.uniqueId;
  self.displayName = loginUser.dispalyName; // if you have
  self.otherImage = [[JSQMessagesAvatarImage alloc] 
  initWithAvatarImage:"loginUserImage if you have" 
  highlightedImage:"highlitedImage if you have" 
  placeholderImage:"placeholder image if you have"];

3): JSQMessagesViewController también tiene un atributo de nombre otherImage. por lo que debe asignar esta propiedad con otra imagen de usuario a través de la cual le gusta chatear.

  self.otherImage = [[JSQMessagesAvatarImage alloc] 
  initWithAvatarImage:"userImage if you have" 
  highlightedImage:"highlitedImage if you have" 
  placeholderImage:"placeholder image if you have"];

NOTA: debe hacer esta configuración en viewDidLoad () o viewWillAppear (). Este código está en el objetivo-C para que pueda usarlo en consecuencia. Espero que esto te ayudará.

0
Nisar Ahmad 17 ene. 2018 a las 09:29
override func collectionView(_ collectionView: JSQMessagesCollectionView, messageBubbleImageDataForItemAt indexPath: IndexPath) -> JSQMessageBubbleImageDataSource {

    return messages[indexPath.item].senderId == self.senderId ? outgoingBubble : incomingBubble
}
0
Ajay Sangani 17 ene. 2018 a las 09:08