2009-11-09 6 views
4

J'ai un contrôle de navigation, je pousse un nouveau viewController sur sa pile, j'ai essayé de trouver un moyen de basculer ce ViewController avec un autre viewController depuis le premier ViewController.Comment remplacer un viewController dans la pile du NavigationController?

J'ai 3 vues presque identiques, en fonction de l'interaction de l'utilisateur, je voudrais pouvoir basculer entre ces vues dans le même index de pile, c'est-à-dire sans pousser ou ouvrir les vues sur le controleur de navigation.

Donc, si vue C a l'index 3 sur la pile NavigationController et l'utilisateur tape un certain bouton en mode C la vue C1 remplace C sur la pile et obtient l'indice 3.

Je suis passé par la classe UINavigation et ne peut pas trouver un moyen de contourner cela. Si je popViewController depuis le viewController actuel et que j'essaie de pousser le ControlViewController ... eh bien, cela ne peut pas être fait car le viewController est libéré quand il est déclenché. Si j'essaie à la place de faire pushViewController, eh bien, je suis ajouté par dessus mon viewController actuel.

je l'espère, il est logique et que quelqu'un peut me aider :)

Merci

Répondre

12

Vous pouvez attribuer un NSArray de contrôleurs à la propriété viewControllers pour modifier instantanément l'ensemble de la pile.

+0

Bonjour Neil Merci, je suppose que je pourrais le faire. Y a-t-il un moyen d'obtenir un tableau de la pile en cours -> changer le dernier viewController et le repousser sur le NavigationController? – RickiG

+0

Semble que je n'ai pas fait ma recherche assez bien:/la réponse était ici: http://stackoverflow.com/questions/410471/how-can-i-pop-a-view-from-a-uinavigationcontroller-and -replace-it-with-another-in Merci encore Neil, tu m'as donné l'idée de chercher les réponses :) – RickiG

Questions connexes