Iphone iOS7导航栏和选项卡栏颜色的行为异常

Iphone iOS7导航栏和选项卡栏颜色的行为异常,iphone,ios,objective-c,ios7,Iphone,Ios,Objective C,Ios7,这就是我想要的。它加载到我的一些视图控制器上 大家好 我正在疯狂地尝试使所有ViewController的色调颜色相同。有些看起来比另一些暗得多。所有我想要的是光的颜色被贯穿 有时我会得到这种难看的深灰色。。。我不确定我做错了什么。我已经检查了.m文件,没有设置色调或任何东西。。。不知道为什么它在每个viewController上都不一致 任何帮助都会很好。谢谢 在iOS7中,导航栏默认为半透明的是,因此只需像下面那样更改为否:- self.navigationController.navi

这就是我想要的。它加载到我的一些视图控制器上

大家好

我正在疯狂地尝试使所有ViewController的色调颜色相同。有些看起来比另一些暗得多。所有我想要的是光的颜色被贯穿

有时我会得到这种难看的深灰色。。。我不确定我做错了什么。我已经检查了.m文件,没有设置色调或任何东西。。。不知道为什么它在每个viewController上都不一致


任何帮助都会很好。谢谢

在iOS7中,导航栏默认为半透明的
,因此只需像下面那样更改为否:-

self.navigationController.navigationBar.translucent=NO;
并设置
Navigaitonbar
color或其他属性自定义,如下面所示将此代码放入Appdelegate类
didFinishLaunchingWithOptions
,并使用
外观
全局应用:-

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {

    // Load resources for iOS 6.1 or earlier
     [[UINavigationBar appearance]setTintColor:NavigationColor];
} else {
     [[UINavigationBar appearance]setTintColor:[UIColor whiteColor]]; // it set color of bar button item text
     [[UINavigationBar appearance]setBarTintColor:[UIColor GreenColor]]; // it set color of navigation
     [[UINavigationBar appearance] setBarStyle:UIBarStyleDefault]; // it set Style of UINavigationBar
     [[UINavigationBar appearance]setTitleTextAttributes:@{UITextAttributeTextColor : [UIColor whiteColor]}]; //It set title color of Navigation Bar
    // Load resources for iOS 7 or later

}

由于iOS 7.1存在一个bug,导致
uitabar
无法收听全局色调

见此帖:


您需要以编程方式设置色调。谢谢,我…

一个常见的错误是将视图控制器的
view.backgroundColor
设置为
clearColor
(通过编程或通过情节提要)。这会使视图实际上变为黑色(因为清晰视图下没有任何内容),因此该视图上方的所有内容,如果
半透明
属性设置为
,将显示深灰色(黑色+默认iOS模糊)

要解决此问题,请将
半透明
属性设置为
(如Nitin Gohel所述),或将
视图.backgroundColor
设置为白色,这是其实际默认颜色


希望这仍然能帮助别人

UINavigationBar
的某些属性的行为已从
iOS 7
更改。我已经在我的文章中详细解释了。谢谢!好的,如果我把它放在viewDidLoad方法中,这似乎是可行的,但是为什么我不能更改颜色呢?我把self.navigationController.navigationBar.translucent=NO在viewDidLoad方法中,但我想将颜色更改为蓝色。我的目标是ios7at应用程序委托类[[UINavigationBar外观]setPartIntColor:[UIColor blueColor];或在viewDidLoad self.navigationController.navigationBar SetPartIntColor:[UIColor blueColor]]上;对于选项卡栏相同,这是默认半透明=是更改为NOuse外观,因此无需在
viewdiload
方法中的每个类中放置代码查看我的更新答案。
[self.tabBarController.tabBar setTranslucent:NO];