La barre de Navigation ne s'affiche pas
J'ai ce problème: j'ai un - vue-contrôleur (intégré dans un navigation controller) qui après avoir fait une action déclenche un manuel des enchaînements en poussant un nouveau point de vue contrôleur, cependant, dans les nouveaux-vue-contrôleur il n'y a pas de barre de navigation parce que dans le premier contrôleur que j'avais mis en œuvre le viewWillDisappear méthode comme ceci:
StartViewController
- (void)viewWillDisappear:(BOOL)animated {
//Hide the navigation bar just before the view disappear
[[self navigationController] setNavigationBarHidden:YES animated:YES];
}
Voici le code pour le manuel de transition qui est à l'intérieur d'un IBAction:
[self performSegueWithIdentifier:@"tutorialSegue" sender:self];
DestinationViewController
J'avais essayé comme ça
- (void)viewDidLoad
{
[super viewDidLoad];
//Do any additional setup after loading the view.
[[self navigationController] setNavigationBarHidden:NO animated:NO];
}
mais ça ne fonctionne pas, en fait dans le débogueur, j'ai remarqué navigationcontroller est égal à néant et je ne peux pas compris pourquoi.
Supprimer
[[self navigationController] setNavigationBarHidden:YES animated:YES];
et [[self navigationController] setNavigationBarHidden:NO animated:NO];
OriginalL'auteur Alessandro Lucarini | 2013-10-15
Vous devez vous connecter pour publier un commentaire.
Si vous voulez StartViewController pour masquer la barre de navigation, et DestinationViewController à le montrer:
Ajouter le code correspondant à
-(void)viewWillAppear:
méthode.StartViewController:
DestinationViewController:
Si vous souhaitez afficher les contrôleurs d'avoir la barre de navigation, il suffit de retirer toutes les lignes qui contiennent
setNavigationBarHidden:
Veuillez noter que ceci est une ancienne réponse, depuis iOS7, il est conseillé d'utiliser (override) prefersStatusbarHidden.
OriginalL'auteur hybridcattt
Problème ici est que votre
viewDidLoad
est appelé avant votreviewWillDisappear
. Vous devez charger un nouveau point de vue avant que vous pouvez décharger le parent (visuellement). Si vous êtes le réglage de la barre de navigation visible et de les cacher à nouveau.Les barres de Navigation sont universels entre les vues imbriquées à l'intérieur. Il faudrait vraiment aucune raison de le cacher quand une vue est en train de disparaître, à moins que le childview vue n'en a pas besoin. Si vous expliqué ce que vous tentez de le faire, nous pouvons aider plus. Mais dans le temps, si vous venez de supprimer votre
viewWillDisappear
de mise en œuvre (au moins ce que vous nous montrant), vous devez être bon. Sinon, vous pouvez définir la propriété hiddenno
dans votre DestinationViewController deviewWillAppear
ouviewDidAppear
(en fonction de l'appel de la commande).viewWillDisappear
solution dans le startViewController, quand je l'ai rallumé, sa barre de navigation est resté sur l'écran. Désolé pour mon anglaisAlors de ce point de vue-contrôleur (celle d'avant
startViewController
) masquer la barre de navigation en sonviewWillAppear
(de sorte que chaque contrôleur indique si il veut la barre de navigation ou pas). De cette façon, chaque fois que vous allez revenir, il est caché! Aussi votre niveau d'anglais est vraiment, je n'aurais jamais deviné qu'il n'était pas votre première langue!OriginalL'auteur Firo
Juste un autre angle sur cette: Lorsque dans le storyboard de l'éditeur, j'ai réinitialiser la vue initiale du contrôleur par accident (dans le volet propriétés), résultat j'en ai perdu la barre de navigation. Réinitialisant la manette de Navigation "Est l'Initiale de Vue-Contrôleur" a ramené.
OriginalL'auteur Ed Manners
Si votre code ressemble à
la changer,
type "super viewWillappear..." avant ".nav..."
OriginalL'auteur Gajendra K Chauhan