Swift-自定义颜色不适用于barTintColor
在嵌入导航控制器的视图控制器中,我试图将Swift-自定义颜色不适用于barTintColor,swift,user-interface,uinavigationbar,uicolor,bartintcolor,Swift,User Interface,Uinavigationbar,Uicolor,Bartintcolor,在嵌入导航控制器的视图控制器中,我试图将bartincolor更改为自定义颜色。我所经历的是,如果我使用默认颜色,例如下面的颜色,则实际应用颜色: self.navigationController?.navigationBar.barTintColor = UIColor.blackColor() 但是,当我尝试创建我自己的自定义颜色实例(如此代码所示)时,不会应用该颜色: let customRedColor = UIColor( red: 255, green: 0, blue: 13,
bartincolor
更改为自定义颜色。我所经历的是,如果我使用默认颜色,例如下面的颜色,则实际应用颜色:
self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
但是,当我尝试创建我自己的自定义颜色实例(如此代码所示)时,不会应用该颜色:
let customRedColor = UIColor( red: 255, green: 0, blue: 13, alpha: 1 )
self.navigationController?.navigationBar.barTintColor = customRedColor
我很好奇为什么导航栏没有使用自定义颜色,所以我想问:
为了正确地将自定义颜色应用于导航栏barTintColor属性,应该采取什么方法。您需要通过将导航栏barTintColor属性除以
255来指定颜色,语法如下所示
init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
每个采用CGFloat
的值都在0.0和1.0之间,分别表示完全没有或最大数量的颜色分量。因此,这意味着,即使您有十进制或十六进制格式的纯RGB
值,您也必须将它们除以十进制255以获得此处输入的量
let customRedColor = UIColor(red: 255/255.0 , green: 0, blue: 13/255.0, alpha: 1.0)
//or Direct
let customRedColor = UIColor(red: 1.0 , green: 0, blue: 0.05, alpha: 1.0)
self.navigationController?.navigationBar.barTintColor = customRedColor
您需要通过将它们除以255
来指定颜色,语法如下所示
init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
每个采用CGFloat
的值都在0.0和1.0之间,分别表示完全没有或最大数量的颜色分量。因此,这意味着,即使您有十进制或十六进制格式的纯RGB
值,您也必须将它们除以十进制255以获得此处输入的量
let customRedColor = UIColor(red: 255/255.0 , green: 0, blue: 13/255.0, alpha: 1.0)
//or Direct
let customRedColor = UIColor(red: 1.0 , green: 0, blue: 0.05, alpha: 1.0)
self.navigationController?.navigationBar.barTintColor = customRedColor
是的,非常简单的解决方案。非常感谢,我会在5分钟内尽快标记为正确。你应该将其除以255.0使其浮动,否则你将失去精度。是的,这是一个非常简单的解决方案。非常感谢,我会在5分钟内尽快标记为正确。你应该将其除以255.0使其浮动,否则你将失去精度。