导航栏不透明

时间:2014-03-13 20:22:57

标签: ios navigationcontroller

Apple say this

  

barTintColor

     

默认情况下,此颜色为半透明,除非您将半透明属性设置为NO。

那么为什么我的代码会生成不透明的导航栏?

self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0/255.0f     green:119/255.0f blue:255/255.0f alpha:1.0f];

我尝试添加这个以防万一,但没有运气。

self.navigationController.navigationBar.translucent = YES;

由于

3 个答案:

答案 0 :(得分:1)

而不是这个

self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0/255.0f     green:119/255.0f blue:255/255.0f alpha:1.0f];

为什么不尝试设置背景颜色

self.navigationController.navigationBar.backgroundColor = [UIColor colorWithRed:0/255.0f     green:119/255.0f blue:255/255.0f alpha:1.0f];

酒吧是半透明的:)

根据您的需要。这将为导航栏提供纯色

NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}

答案 1 :(得分:0)

更容易使用"外观" appDelagate.m中的代理。在你的didGinishLaunchingWithOptions方法中包括:

[UINavigationBar appearance].translucent = NO;

答案 2 :(得分:0)

雨燕4

  navigationController!.navigationBar.isTranslucent = false;