2016-05-17 11 views
0

Ich habe eine Chat-Anwendung, in der ich den Indexpfad um eins erhöhen möchte, wenn neue Chatdaten kommen. Aber es passiert nicht durch meinen Code Ich teile Code mit Screenshot bitte helfen.Indexpfad um eins in TableView (iOS) verschieben

NSUInteger messageCount = [self numberOfMessages]; 

if (self.conversation && messageCount > 0) { 
    NSLog(@"%ld",(long)indexPathValue.row); 
    NSIndexPath* ip = [NSIndexPath indexPathForRow:indexPathValue.row + 1 inSection:0]; 
    NSLog(@"%ld",(long)ip.row); 
    [layerChatTableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:YES]; 
} 

enter image description here

+0

Ich denke, was Sie brauchen, ist Tabellenansicht nach unten scrollen. Dieser Link kann Ihnen helfen http://stackoverflow.com/questions/2770158/how-to-scroll-to-the-bottom-of-a-uitableview-on-the-iphone-before-the-view-appea – Tien

Antwort

0

Below-Code können Ihnen letzten indexPath mit Scroll-Position von unten gehen.

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:messageCoutnt-1 inSection:0] atScrollPosition:UITableViewScrollPositionButtom animated:NO]; 

Versuch und lassen Sie mich wissen

+0

Nicht Wir müssen in die letzte Reihe gehen. –

+0

Bewegen Sie sich um eine Zeile von der letzten sichtbaren Zeile, genau wie whatsapp Meldungen kommen. –

+0

Überprüfen Sie den aktualisierten Code. Logik dahinter, letzte Zeile in der Tabelle und die Bildlaufrichtung. – Ramdy

0

Ich gehe davon aus, dass Sie die Datenquelle Aktualisierung Teil behandelt haben, und dass Sie auf Hauptthread der Tabellen-Ansicht aktualisieren. können Sie versuchen, neue Zeile wie diese unten hinzufügen:

NSInteger section = 0; 
NSInteger newCount = [self tableView:self.tableView numberOfRowsInSection:section]; 
NSMutableArray *paths = @[].mutableCopy; 
[paths addObject:[NSIndexPath indexPathForRow:newCount inSection:section]]; 
[self.tableView beginUpdates]; 
[self.tableView insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationNone]; 
[self.tableView endUpdates]; 

Sie auch mehr als 1 Zeile mit einigen Änderungen hinzufügen.

Hoffe, das hilft.

Verwandte Themen