Comment ajouter de la manette de navigation par programmation?

J'utilise le code ci-dessous, mais il n'est pas chargé:

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
self.mapViewController = [storyboard instantiateViewControllerWithIdentifier:@"MapViewController"];
self.navigationController = [[UINavigationController alloc]initWithRootViewController:self];

self.navigationBar = [[UINavigationBar alloc]init];
[self.view addSubview:self.navigationBar];

[self.navigationController.navigationController pushViewController:self.mapViewController animated:YES];
self.navigationController.navigationController sera toujours nil. Une manette de navigation ne peut jamais être dans une autre manette de navigation.
Il également n'a pas de sens pour créer et affecter une manette de navigation comme cela dans une vue-contrôleur. Normalement vous devez créer la manette de navigation à un niveau plus élevé et de mettre en place avec de la racine de la vue-contrôleur. Puis, quand la vue-contrôleur veux pousser un autre point de vue contrôleur (comme ici), il vous suffit de pousser le nouveau-vue-contrôleur sur self.navigationController.
sans elle, il n'en montre trop..
Vous devriez lire le "View Controller Guide de Programmation pour iOS".

OriginalL'auteur user3267017 | 2014-02-06