2010-01-27 9 views
4

Je veux simplement me rafraîchir tableView (sur l'iPhone) lorsque je clique sur le bouton correspondant dans la tabBar ...Actualiser le tableView en cliquant sur le tabBar

Alors, je pense que cela doit être fait cela chemin:

[self.tableView reloadData]; 

À droite? Et dans le fait

(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

Mais je ne sais pas comment puis-je envoyer le message reloadData au tableView du contrôleur tabBar ... Pourriez-vous me aider s'il vous plaît?

Répondre

6

Dans votre classe UITableViewController, implémentez la méthode viewWillAppear et appelez reloadData à partir de là.

+0

bonne idée :) merci! (Je vais l'essayer dès maintenant) – Archanimus

+0

Fonctionne bien (merci encore;)) Mais si je veux rafraîchir la tableView lorsque vous cliquez sur l'onglet Barre correspondante même si je suis déjà dans le tableauView? (en d'autres termes, en utilisant le bouton tabBar comme un bouton d'actualisation) – Archanimus

+0

Dans la version 3.0 du SDK, vous pouvez le faire en implémentant la classe 'UITabBarControllerDelegate' (quelque part) et en répondant à' - (void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) méthode viewController'. Dans v3.0 et ci-dessous, ce n'est pas possible, car cette méthode n'est appelée que si le contrôleur de vue sélectionné change réellement. –