2010-04-29 6 views
5

J'ai un projet de navigation qui a seulement un TableView. Par défaut, je pouvais voir la barre de navigation lors de l'exécution de l'application. Je veux changer le style de la barre de navigation à la même chose que si on voit dans I.B il y a un appelé "Top Bar" qui a le style "Black Navigation Bar" (qui montre la barre de navigation noire mais une sorte de nuance de gris). Je veux la même chose dans ma barre de navigation maintenant, pas n'importe quelle autre couleur ou style. Comment le réparer?iPhone: Comment faire pour que le style de barre de navigation soit le même que "Black Navigation Bar" par programmation?

Remarque: 1. J'ai utilisé "self.navigationController.navigationBar.barStyle = UIBarStyleBlack;" , mais il montre la barre de navigation dans la couleur noire totale. Je ne veux pas ça, je veux une sorte de nuance de gris en noir, semblable à "Top Bar" qui a "Black Barre de navigation".

  1. J'ai essayé un peu plus de couleur de teinte au-dessus, comme "self.navigationController.navigationBar.tintColor = [UIColor grayColor];" mais j'observe les mêmes spectacles noirs absolus dans la barre de navigation.

  2. J'ai essayé "navigationBar.barStyle = UIBarStyleBlackTranslucent;" mais il ne correspond pas et afficher avec la barre d'état correctement. Au lieu de cela, il recouvre la moitié de la barre d'état (masquée) et la moitié de la partie noire apparaît à l'extérieur.

Quelqu'un pourrait-il m'apprendre?

Merci.

+0

Désolé "UIBarStyleBlackTranslucent;" ce n'est pas ce que j'étais attendu. Je veux le même style de couleur, Ouvrez I.B et cochez "Barre supérieure" qui a "Barre de navigation noire". (ou) Exécutez votre application qui a mis en place "Top Bar" avec "Black Navigation Bar", il montrera la couleur noire avec une nuance de couleur grise. – Getsy

+0

Je ne suis pas tout à fait sûr de ce que vous voulez dire, mais cela pourrait être parce que opaque et transparent mettre en place le contrôleur de vue interne différemment (voir le contrôleur est visible à travers transparent) – cobbal

+0

Ok. Merci. J'ai essayé "navigationBar.barStyle = UIBarStyleBlackTranslucent;" mais il ne correspond pas à la barre de navigation correctement et afficher avec la barre d'état là. Au lieu de cela, il se superpose à la moitié de la barre de navigation noire avec la barre d'état et d'autres demi-spectacles à l'extérieur en haut. – Getsy

Répondre

7
navigationBar.barStyle = UIBarStyleBlackTranslucent; 

(docs)

0
self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
+0

Pourquoi est-ce downvoted? Cela a ses propres avantages. –

6

réponse complète ...

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 
10

Comme UIBarStyleBlackTranslucent est obsolète dans iOS 3.0,
il est préférable d'utiliser ces deux lignes:

self.navigationController.navigationBar.barStyle = UIBarStyleBlack; // optional 
self.navigationController.navigationBar.translucent = YES; 

Cela vous permet également d'utiliser une couleur différente du noir.

1
MyView *myView=[[MyView alloc]initWithNibName:@"myView" bundle:[NSBundle mainBundle]]; 
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:myView]; 
[nav.navigationBar setBarStyle:UIBarStyleBlackOpaque]; 
+0

lol si facile égaré myView avec nav –

0

Dans storyboard choisir Translucent Black Navigation Bar pour Top Bar enter image description here

0

Swift 3:

self.navigationController?.navigationBar.barStyle = UIBarStyle.blackTranslucent 
Questions connexes