J'essaie de faire défiler le bas d'un UITableView après qu'il ait terminé de l'exécuter. [self.tableView reloadData]
A l'origine, j'avais
[self.tableView reloadData]
NSIndexPath* indexPath = [NSIndexPath indexPathForRow: ([self.tableView numberOfRowsInSection:([self.tableView numberOfSections]-1)]-1) inSection: ([self.tableView numberOfSections]-1)];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
Mais ensuite, j'ai lu que le reloadData est asynchrone, donc le défilement ne se produit pas puisque le self.tableView
, [self.tableView numberOfSections]
y [self.tableView numberOfRowsinSection
sont toutes égales à 0.
Merci !
Ce qui est bizarre c'est que j'utilise :
[self.tableView reloadData];
NSLog(@"Number of Sections %d", [self.tableView numberOfSections]);
NSLog(@"Number of Rows %d", [self.tableView numberOfRowsInSection:([self.tableView numberOfSections]-1)]-1);
Dans la console, il retourne Sections = 1, Row = -1 ;
Quand je fais exactement les mêmes NSLogs en cellForRowAtIndexPath
J'obtiens Sections = 1 et Row = 8 ; (8 est juste)