J'ai une application iPhone basée sur la navigation. Normalement vous démarrez sur le RootViewController, là vous pouvez sélectionner une ligne à partir d'un UITableView qui vous amène à un autre ViewController, appelons-le SecondLevelViewController.Comment passer au niveau 2 viewController au démarrage dans l'application iPhone basée sur la navigation
Lorsque l'application est démarrée, je vérifie si elle a été arrêtée par SecondLevelViewController (via un paramètre sauvegardé dans les paramètres par défaut de l'utilisateur). Si c'était le cas, je veux afficher SecondLevelViewController à nouveau.
Pour y parvenir, je fais le chèque à mes délégués d'application
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
méthode
, juste après
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
Puis ajouter le SecondLevelViewController à la pile de vue. Je l'ai essayé avec pushViewController et setViewControllers:
SecondLevelViewController *newVC = [[SecondLevelViewController alloc] initWithNibName:@"SecondLevelView" bundle:nil];
[self.navigationController setViewControllers:[NSArray arrayWithObjects:[self.navigationController.viewControllers objectAtIndex:0], newVC, nil]
animated:YES];
L'application montre alors la vue souhaitée. Maintenant le problème: le SecondLevelViewController affiche un bouton de retour sur le côté gauche de la barre de navigation. Ce bouton n'apparaît pas lorsque vous utilisez la méthode décrite ci-dessus. Ma conclusion est, que le RootViewController n'est pas encore complètement initialisé au moment où je vais le SecondLevelViewController. Est-ce possible? Comment puis-je éviter ça?
Merci, Marque.