导航栏在运行时改变颜色

时间:2016-01-28 12:29:47

标签: ios swift uinavigationbar

当我切换到另一个屏幕时,导航栏(白色)变为灰色(如果我将另一种颜色变为相同颜色的深色阴影)

这是我选择颜色的代码

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

任何想法都可以防止这种情况发生并保持我想要的颜色

2 个答案:

答案 0 :(得分:1)

请尝试以下操作,一定会有效。

self.navigationController!.navigationBar.translucent = false;

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

在转到其他屏幕时,导航栏变为灰色,因为在iOS7及更高版本中,translucent的{​​{1}}属性默认为true。

答案 1 :(得分: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()