Dans la méthode d'action du bouton correspondant, initialiser le SecondViewController
, puis assembler un NSArray constitué de deux éléments: le RootViewController
et le nouveau initialisé SecondViewController
(dans cet ordre, à savoir Root
à l'index 0 et Second
à l'index 1).
appeler ensuite la méthode setViewControllers:animated:
du NavigationController, et passer le tableau des contrôleurs de vue comme premier argument. Rappelez-vous de la release
SecondViewController
après avoir appelé cette méthode, ou autorelease
il lors de l'initialisation pour éviter une fuite de mémoire.
Juste pour clarifier les choses, cela entraînera la FirstViewController
d'être libéré par le NavigationController.
Exemple:
- (void) goToSecondViewController
{
RootViewController *root = [[self.navigationController viewControllers] objectAtIndex:0];
SecondViewController *second = [[[SecondViewController alloc] init] autorelease];
NSArray *controllersArray = [NSArray arrayWithObjects: root, second, nil];
[self.navigationController setViewControllers:controllersArray animated:YES];
}
Référence: UINavigationController Class Reference
Est-ce courant de maintien en date d'aujourd'hui? (juin 2012) Je ne demande pas si cela fonctionne ou pas, mais si ce n'est pas désapprouvé avec le SDK actuel. – Julian