0

Ich mache eine Anwendung, wo ein Patient mit einem Arzt sprechen kann. Ich verwende firebase zum Speichern und Abrufen der Daten. Aber wenn ich versuche, eine Chat-Nachricht zu senden, wird die Nachricht erfolgreich zu Firebase hinzugefügt, aber es wird nicht am Ende von collectionView angezeigt (bis ich die Nachrichten-Schaltfläche aus der linken Menüleiste auswählen). Ich benutze jsqmessages und mache das Projekt in objective-c.Chat nicht in der Sammlungsansicht angezeigt

Wenn Sendetaste gedrückt

- (void)didPressSendButton:(UIButton *)button 
     withMessageText:(NSString *)text 
       senderId:(NSString *)senderId 
    senderDisplayName:(NSString *)senderDisplayName 
        date:(NSDate *)date 
{ 
/*** Sending a message. Your implementation of this method should do *at least* the following: 
* 
* 1. Play sound (optional) 
* 2. Add new id<JSQMessageData> object to your data source 
* 3. Call `finishSendingMessage` 
*/ 

if (![_connection isInternet]) { 
    [self noInternetView:@"You can not send messages while you are offline"]; 
    return; 
} 

[JSQSystemSoundPlayer jsq_playMessageSentSound]; 

JSQMessage *message = [[JSQMessage alloc] initWithSenderId:senderId 
             senderDisplayName:senderDisplayName 
                 date:date 
                 text:text]; 

//senderDisplayName = @"You"; 
[self.messages addObject:message]; 
[self finishSendingMessage]; 
NSDateFormatter *formatter=[[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"hh:mm:ss"]; 
NSString *timeString=[formatter stringFromDate:[NSDate date]]; 

NSDateFormatter *formatter1=[[NSDateFormatter alloc]init]; 
[formatter1 setDateFormat:@"yyyy-MM-dd"]; 

NSString *dateString=[formatter1 stringFromDate:[NSDate date]]; 
NSLog(@"DATE : %@",dateString); 
if(_connection.isInternet) 
{ 
[firebaseMethods saveMessageInfoToFirebase:text date:dateString time:timeString msgFrom:senderId msgTo:@"webAdmin"]; 
[CoreDataMethods saveNewMessageInfoToCoreData:text msgTo:@"webAdmin" msgFrom:senderId date:dateString time:timeString]; 
} 
else 
{ 
    [self showNoInternetMessage]; 
} 
} 

Bitte sagen Sie mir, was sind die wichtigsten Faktoren für jsqmessage zu arbeiten. Wie mache ich Automatically scroll to bottom und display send message right away in collection view arbeiten?

Bitte fragen Sie, wenn Sie zusätzliche Informationen in den Kommentaren benötigen, danke.

Antwort

0

Nach dem Hinzufügen Nachricht an self.messages Array ([self.messages addObject:message];)

In folgenden er zwei Linien:

[self finishSendingMessageAnimated:YES]; 
[self.collectionView reloadData]; 
Verwandte Themen