2017-06-02 171 views
0

我有一个非常具体的问题。当我将背景barTintColor设置为蓝色时,太亮。我所做的任何事似乎都无法使其100%准确无误。设置iOS导航背景颜色无法正常工作

所以我更改了代码,将导航栏背景设置为100%黑色。使用OS X应用程序SIP来分析颜色,或者只是将视图设置为黑色,很明显颜色非常暗灰色,但不是黑色。

什么是使色调的颜色拧起来?就目前而言,我需要的蓝色和导航栏显示的内容并不相同。

navigationController?.navigationBar.setBackgroundImage(UIImage.imageFromColor(UIColor.black), for: .default) 
    navigationController?.navigationBar.shadowImage = UIImage() 

    navigationController?.navigationBar.barStyle = .blackOpaque 
    navigationController?.navigationBar.isOpaque = true 
    navigationController?.navigationBar.barTintColor = UIColor.black 

还在一个空白项目中,新鲜,同样的问题。

+0

您是否尝试将'navigationBar.isOpaque'设置为'true'? –

+0

我做了同样的结果。从字面上看没有变化。我更新了示例代码。同样在一个空白的项目中,新鲜的,同样的问题。 –

+0

看起来,导航栏包含模糊,这就是为什么你不能得到你想要的颜色的原因。创建一个自定义导航栏,它一直是我的解决方案。 –

回答

0

关键是将isTranslucent设置为false

let navigationBar = navigationController?.navigationBar 
navigationBar?.barTintColor = .black 
navigationBar?.isTranslucent = false 
+0

圣洁的废话,谢谢。这是半透明的设置。从字面上爬过来试图找到这个答案。做得好。 –