UINavigationBar Tint Color与IOS中其他应用程序之间的色差

Cha*_*man 8 uinavigationbar uicolor ios bartintcolor swift

这是我在Sketch中的设计:

在此输入图像描述

Sketch说蓝色是70,164,239.

所以我的选项卡有以下代码:

UINavigationBar.appearance().barTintColor = UIColor(red: 70.0/255.0, green: 164.0/255.0, blue: 239.0/255.0, alpha: 1.0)
UINavigationBar.appearance().tintColor = UIColor.clearColor()
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor()]
Run Code Online (Sandbox Code Playgroud)

对于下面的视图(在动作内),以下内容:

self.two_buttons_view.backgroundColor = UIColor(red: 70.0/255.0, green: 164.0/255.0, blue: 239.0/255.0, alpha: 1.0)
Run Code Online (Sandbox Code Playgroud)

但看看发生了什么,导航栏颜色总是比视图的颜色轻一点.这种淡蓝色只有轻微的区别,但如果我选择深蓝色则会更加明显.导航栏的颜色似乎永远不会像其他页面视图那样丰富:

在此输入图像描述

mat*_*att 26

tintColor是一种淡色.它结合了酒吧的半透明度(就是一个单词?),以及酒吧后面的内容,给出了一些其他产生的颜色.

如果要完全控制导航栏的实际颜色,请将其设置translucentfalse,然后为其提供一个背景图像,该图像由所需颜色的矩形组成 - 并且没有色调.

  • 谢谢,@马特.UINavigationBar.appearance().translucent = false就是我所需要的一切,即使只是通过色调设置颜色本身,它看起来也很棒 (3认同)
  • 在Swift 3中,这已改为:UINavigationBar.appearance().isTranslucent = false (2认同)