2010-04-29 77 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