2010-04-29 113 views
5

我有一個只有一個TableView的導航項目。默認情況下,我可以在運行應用程序時看到導航欄。如果我們在I.B中看到,我想將導航欄樣式更改爲相同的樣式,其中有一個名爲「頂部酒吧」的導航欄,它具有「黑色導航欄」樣式(顯示黑色導航頂部欄,但會顯示某種灰色陰影)。我現在想在我的導航欄中使用相同的顏色或樣式。 我該如何解決它?iPhone:如何使程序導航頂欄風格與「黑色導航欄」相同?

注意: 1.我用「self.navigationController.navigationBar.barStyle = UIBarStyleBlack;」 ,但是它顯示的是完全黑色的導航欄。我不想那樣,我想要一些黑色的灰色陰影,類似於有「黑色導航條」的「Top Bar」。

  1. 我在上面嘗試了一些色調補充,比如「self.navigationController.navigationBar.tintColor = [UIColor grayColor];」但我觀察導航欄中同樣的黑色節目。

  2. 我試過「navigationBar.barStyle = UIBarStyleBlackTranslucent;」但它不適合並正確顯示狀態欄。相反,它與外部的狀態欄和半黑色表演重疊(隱藏)半黑色。

有人可以教我嗎?

謝謝。

+0

對不起 「UIBarStyleBlackTranslucent;」不是我所期待的那個。我想要的顏色樣式相同,打開I.B,並檢查「頂部欄」,它有「黑色導航欄」。 (或)運行已設置「頂部欄」和「黑色導航欄」的應用程序,它將顯示帶有某種灰色陰影的黑色。 – Getsy 2010-04-29 21:53:24

+0

我不完全確定你的意思,但這可能是因爲不透明和透明佈局內部視圖控制器不同(視圖控制器是透明的可見) – cobbal 2010-04-29 21:57:34

+0

好的。謝謝。我試過「navigationBar.barStyle = UIBarStyleBlackTranslucent;」但它不適合導航欄並顯示狀態欄。相反,它將重疊(隱藏)半邊黑色導航欄和狀態欄,另外一半顯示在外面。 – Getsy 2010-04-29 21:59:10

回答

7
navigationBar.barStyle = UIBarStyleBlackTranslucent; 

docs

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

這是爲什麼downvoted?這有它自己的好處。 – 2013-08-03 02:12:41

6

完整的答案...

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 
10

由於UIBarStyleBlackTranslucent中的iOS 3.0已經過時,
它是更好地使用這兩條線:

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

這也允許您使用與黑色不同的顏色。

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

大聲笑很容易錯位myView導航 – 2014-12-13 00:47:36

0

在故事板上選擇Translucent Black Navigation Bar頂級酒吧 enter image description here

0

斯威夫特3:

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