导航栏背景颜色光与斯威夫特3

时间:2017-02-24 10:29:18

标签: swift3 uinavigationcontroller uinavigationbar

我在任何视图控制器中添加导航栏。但是,我在项目中添加了新的CollectionView控制器。我的问题是我无法在集合视图控制器中添加导航栏 所以我添加带有代码的导航栏。我在“属性”检查器中选择顶栏 - " 推断" 。这是代码。

//Add Navigation Bar

    let height: CGFloat = 65
    let navbar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: height))
    navbar.delegate = self
    UINavigationBar.appearance().barTintColor = UIColor(red: 0.0/255.0, green:49.0/255.0, blue:79.0/255.0, alpha:0.1)
    UINavigationBar.appearance().tintColor = UIColor.white
    UINavigationBar.appearance().isTranslucent = true
    UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.white]

但是,集合视图控制器中的导航栏背景颜色比其他视图控制器稍暗。
在其他视图控制器中,我拖动并放置导航栏。
- 导航栏样式 - >黑
- 半透明 - >没有启用
- Bar Tint Color - > #00314F
我不知道为什么集合视图控制器中的导航栏背景颜色比集合视图控制器中的轻。
请帮我看看如何在所有视图控制器中匹配导航栏背景颜色。
如果不容易做到,有没有办法在CollectionViewController中添加导航栏,而无需嵌入导航控制器和没有代码。

2 个答案:

答案 0 :(得分:0)

我认为这是因为半透明。当导航栏不是半透明时,视图无法位于导航栏后面以显示其所具有的内容。但是当半透明时,视图会保留在导航栏的后面,并且视图的颜色会让你看得更暗。

答案 1 :(得分:0)

这是因为NavigationBar的Translucent属性。它提供了一种效果,使图像颜色看起来像是在条上放置了一层一样变淡了,因此颜色看起来有些不同。如下图所示,关闭导航栏的半透明属性。您可以在任何生命周期方法中编写此代码。

  

self.navigationController?.navigationBar.isTranslucent = false