J'ai mis à niveau vers XCode 4.2. Lorsque mon application est exécutée dans le simulateur iOS 4.0, la barre de navigation s'affiche sur plusieurs vues dans lesquelles elle est insérée. Lorsque l'application est exécutée dans le simulateur iOS 5.0 et sur un périphérique avec iOS 5.0, la barre de navigation est supprimée dans toutes les vues et les vues de table sont déplacées pour remplir cet espace. Le contrôleur de navigation est créé en utilisant le code suivant:navigationController barre de retour bouton manquant dans iOS 5
navigationController = [[UINavigationController alloc] initWithRootViewController:swViewController];
et les vues sont poussés sur le NavigationController comme ceci:
UIBarButtonItem *backButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"NextLevel" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease] ;
self.navigationItem.backBarButtonItem = backButtonItem;
[self.navigationController pushViewController:self.listController animated:YES];
Le NavigationController est ajouté à la fenêtre via:
[window addSubview:self.navigationController.view];
Mise à jour 1 - Il semble que la barre de navigation par défaut dans iOS 5 est masquée, donc j'ai ajouté
[[self navigationController] setNavigationBarHidden:NO animated:YES];
et je vois maintenant la barre de navigation, mais pas de bouton de retour comme spécifié dans backButtonItem.
Mise à jour 2 - Je définis également le titre navigationController, mais cela n'apparaît pas non plus.
self.navigationController.title = @"Title";
Y a-t-il quelque chose qui manque ou est nécessaire pour que la barre de navigation soit visible en haut dans iOS 5.0?
Il est tout à fait possible que la raison pour laquelle il a éclaté sur iOS 5 était que je faisais quelque chose de mal auparavant. À chaque mise à niveau, Apple tente d'affiner la vérification des erreurs. J'ai ajouté votre code ci-dessus, mais cela ne l'a pas résolu. –