2010-07-20 6 views
3

J'ai un UINavigationController dans mon application iPhone contrôlant les vues de manière descendante. J'ai 4 viewcontrollers que je traverse avant d'avoir un bouton "Start over", où je voudrais que l'action renvoie l'utilisateur au début de la hiérarchie de vue.popToRootViewControllerAnimated Question

[self.navigationController popToRootViewControllerAnimated:YES]; 

mais il semble que cela apporte simplement une nouvelle RootViewController au-dessus du contrôleur de vue actuel.

Existe-t-il un moyen de faire revenir les vues au tout début de la navigation vers le bas?

Toute aide serait géniale!

Un grand merci, Brett

+0

Que voulez-vous dire, il semble qu'il fait simplement apparaître un nouveau rootViewController? Pouvez-vous revenir en arrière en utilisant le bouton de retour? – jergason

+0

Le bouton retour me ramène de la vue racine nouvellement présentée à la vue la plus basse (d'avant d'utiliser popToRootViewControllerAnimated). – Brett

Répondre

0

Quelque chose d'autre qui se passe ici. J'utilise popToRootViewControllerAnimated dans sur de mes applications et il fait exactement ce que vous recherchez.

+0

Vous avez raison. J'essayais de pousser une vue incorrectement. popToRootViewControllerAnimated fonctionne exactement comme décrit. Merci! – Brett

+0

@Brett génial. Content que tu l'as réglé :) – RedBlueThing

0

et si vous voulez GoBack direction à votre contrôleur de vue désiré puis utilisez le code bellow-

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:3] animated:YES];

Voici objectAtIndex: 3 'est la position de flux (i.e. index.) De vos viewControllers. Pour la racine, il serait 0.