2010-07-21 14 views
0

J'ai plusieurs onglets dans mon contrôleur de barre d'onglets et un seul (le premier) pour lequel j'aurais besoin d'un rechargement automatique chaque fois que je sélectionne son onglet (et aussi quand l'application revient au premier plan).Recharger le contrôleur de vue lorsque la touche est pressée

Je n'ai pas trouvé comment procéder, ai-je besoin de recréer manuellement le contrôleur de la barre d'onglets à chaque fois? Dois-je ajouter un nouveau jeu de contrôleurs de vue au contrôleur de la barre d'onglets?

Merci pour votre aide

+0

de quoi avez-vous besoin pour recharger? Les données? Images? UITableView? – jmont

+0

D'après votre question, il est difficile de dire exactement ce que vous essayez de faire. Mais les méthodes shouldSelectViewController et didSelectViewController du protocole UITabBarControllerDelegate peuvent vous intéresser. –

+0

En fait, lorsque viewController est chargé, une requête http est effectuée. J'aurais besoin que cette requête soit effectuée chaque fois que je clique sur l'onglet. Vous avez raison William, j'utilise ces deux méthodes à partir du protocole TabBar mais je pense que mon problème est de savoir comment les utiliser pourdeallocate/réallouer le contrôleur appartenant au premier onglet. Actuellement, j'utilise cette méthode pour vérifier quand un nouvel onglet est cliqué. – Luc

Répondre

0

Ne serait-il logique d'avoir un functio updateView que vous pouvez appeler à viewWillAppear sur ce point de vue particulier qui assure que tout est mis à jour chaque fois que l'affichage est réglé à apparaître?

+0

Le pense que ViewWillAppear est seulement appelé une fois et pas chaque fois que je clique sur l'onglet. Je devrais libérer/init la vue chaque fois que l'on clique sur l'onglet afin de déclencher cette méthode viewWillAppear. Mais vous avez raison, la fonction que j'aurai besoin d'appeler (requête http) se trouve dans viewWillAppear. – Luc

0

Si votre UIViewController est un UITabBarControllerDelegate il obtiendra ce rappel, qui est ce que vous voulez, je crois:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController 

simplement return YES après avoir appelé votre méthode updateView.