运行

2016-01-28 29 views
0

时,当我切换到另一个屏幕导航栏改变颜色,导航栏(白色)变为灰色(如果我把另一种颜色采取了同样的颜色暗的阴影)运行

这是我的代码选择颜色

self.navigationController!.navigationBar.barTintColor = UIColor.whiteColor() 
self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor()] 
self.navigationController!.navigationBar.translucent = false 

任何想法,以防止这种情况的发生,保持我想


回答

1

下面尝试,它肯定会工作。

self.navigationController!.navigationBar.translucent = false; 

self.navigationController!.navigationBar.barTintColor = UIColor.whiteColor() 
self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor()] 

而将其他屏幕的导航栏变为灰色,因为在iOS7后来的UINavigationBartranslucent属性默认为真。

0

颜色试试这个:

1)

var controller= UINavigationController(rootViewController:YourViewController)  
controller.navigationBar.tintColor = [UIColor whiteColor]; 

2)

var navigationBarAppearace = UINavigationBar.appearance() 
navigationBarAppearace.tintColor = UIColor.whiteColor() 
navigationBarAppearace.barTintColor = UIColor.whiteColor() 
+0

不需要为导航栏对象设置属性,也不需要使用具有相同值的外观代理,通过这种方式不能解决@Jose Saracho的问题 –