2010-11-18 7 views
1

J'ai un contrôleur de barre d'onglets et un contrôleur de navigation. Chaque élément de la barre d'onglets a son propre contrôleur de navigation et quelques vues dans ceux-ci.Comment puis-je changer pour une vue différente dans un contrôleur de navigation différent de celui que je suis actuellement?

Je souhaite basculer par programme vers une autre vue dans un autre contrôleur de navigation et sélectionner l'élément de barre d'onglets correspondant.

Est-ce possible, si oui pouvez-vous me montrer comment?

Voici quelques lignes typiques que j'utilise pour l'instant dans les mêmes contrôleurs de navigation.

[delegate.settingsNavController pushViewController:nextController animated:YES]; 
[delegate.reportNavController pushViewController:nextController animated:YES]; 

Chaque fois que je tente cela, rien ne se passe, je reste dans la vue actuelle, si je devais appuyer sur un autre bouton de navigation et la vue que j'avais essayé (avec le code) n'a pas été normalement la première vue , cette vue montrerait d'abord.

Il modifie donc la vue dans le contrôleur de navigation, mais ne l'affiche pas.

Répondre

1

Vous devez également passer à la nouvelle onglet:

self.navigationController.tabBarController.selectedIndex = settingsTabIndex; 
[delegate.settingsNavController pushViewController:nextController animated:YES]; 
+0

Ahh grande, mais si je veux choisir la première vue qui serait montré la première fois sur le bouton de la barre d'onglet a été pressé? – Jules

+0

Appelez simplement [delegate.settingsNavController popToRootViewControllerAnimated: YES] au lieu de -pushViewController: animé :. Voici la documentation: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UINavigationController_Class/Reference/Reference.html%23//apple_ref/doc/uid/TP40006934 – Ryan

Questions connexes