Une fois que mon UITableView a été rempli avec des données, je veux faire défiler jusqu'à un index spécifique. Je pense que c'est comment vous le faites:iPhone - faites défiler UITableView jusqu'à l'index
[[self tableView] scrollToRowAtIndexPath:[NSIndexPath indexPathWithIndex:3] atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
Le problème est quand je suis censé exécuter ce. Comment savez-vous quand une table a fini de charger les données?
J'ai déjà essayé viewDidLoad, mais c'était trop tôt. Je vais essayer viewDidAppear. Je préfère ne pas utiliser de minuterie car c'est très hackish. N'y at-il vraiment aucun événement ou quelque chose qui est envoyé une fois que tous les éléments ont été récupérés à partir de la source de données? – quano
Pas vraiment. Les éléments ne sont pas tous récupérés - AFAIK votre source de données/délégué est interrogé pour la hauteur de tous les éléments, et ensuite pour les cellules pour les lignes visibles uniquement, afin d'économiser la mémoire et les ressources du processeur. Il y a une autre façon - si vous utilisez 'reloadData', vous pouvez être certain qu'après l'appel de la méthode, toutes les mises à jour ont été effectuées, y compris le dessin des cellules, etc. –
J'ai essayé viewDidAppear et cela semble fonctionner. – quano