J'essaie de positionner la barre de navigation sous le haut de l'écran.iPhone: déplacer UINavigationBar vers le bas?
J'ai essayé ce qui suit dans viewWillAppear
:
self.navigationController.view.frame = CGRectMake(0.0, 54.0, 320.0, 426.0);
self.navigationController.navigationBar.frame = CGRectMake(0.0, 0.0, 320.0, 44.0);
Le problème est qu'il semble ne fonctionner que la première fois la vue est affichée. Si vous allez dans un autre onglet, et retour, la barre de navigation est en haut de l'écran. Cela se produit également lorsque l'iPhone est pivoté. Dois-je essayer d'ajuster le cadre du contrôleur de navigation, ou devrais-je plutôt essayer d'ajouter le contrôleur de navigation à une autre vue qui est en dessous du haut de l'écran?
Qu'en est-il de l'utilisation d'Interface Builder pour ce faire? Il semble que je peux faire glisser dans la barre de navigation à n'importe quel endroit dans une vue. Je ne suis pas sûr si je peux accrocher le contrôleur de navigation à cela cependant. –
Si j'utilise UINavigationController dans IB, il le place en haut de la vue uniquement. De la UINavigationController Référence de la classe: @property (nonatomic, en lecture seule) UINavigationBar * navigationBar Discussion Il est permis de modifier les propriétés barStyle ou translucides de la barre de navigation, mais vous ne devez jamais changer son cadre, limites, ou les valeurs alpha directement . Pour afficher ou masquer la barre de navigation, vous devez toujours le faire via le contrôleur de navigation en modifiant sa propriété navigationBarHidden ou en appelant la méthode setNavigationBarHidden: animated:. –
J'ai fini par utiliser Interface Builder pour configurer une vue avec une image et une barre de navigation avec un contrôleur de navigation dans un contrôleur de barre d'onglets. Maintenant, quand je pousse une autre vue dans le code, il me manque l'image et la barre de navigation. –