2010-04-11 6 views
2

Je voudrais pouvoir afficher plusieurs vues à partir d'une pile UITableViewController. Par exemple dans l'exemple Apple DrillDownSave, lorsque vous affichez Level 3 pour revenir au niveau 1 ou lorsque vous visualisez un élément pour revenir au niveau 2 lorsqu'un bouton est enfoncé.Popping plusieurs niveaux dans UITableViewController

J'ai essayé:

[self.navigationController.parentViewController.navigationController popViewControllerAnimated: NO]; 
[self.navigationController popViewControllerAnimated: NO]; 

et

[self.navigationController popViewControllerAnimated: NO]; 
[self.navigationController.parentViewController.navigationController popViewControllerAnimated: NO]; 

mais ceux-ci me laissent au même endroit que un seul popViewControllerAnimated :. Y a-t-il un moyen facile de faire ceci?

Répondre

3

Ce que vous voulez, c'est envoyer popToViewController: animated: au contrôleur de navigation. Vous pouvez utiliser la propriété viewControllers du contrôleur de navigation pour déterminer le contrôleur de vue dans lequel vous voulez apparaître.

7

Merci Giao qui l'a fait. J'ai changé mon code pour:

NSArray *allViewControllers = self.navigationController.viewControllers; 
NSInteger n = [allViewControllers count]; 
[self.navigationController popToViewController: [allViewControllers objectAtIndex: (n-3)] animated: YES]; 

et cela fonctionne parfaitement.

Questions connexes