Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-自定义颜色不适用于barTintColor_Swift_User Interface_Uinavigationbar_Uicolor_Bartintcolor - Fatal编程技术网

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使其浮动,否则你将失去精度。