我正在研究Views的背景颜色。每个视图的强度级别从0到1不等。现在我必须根据视图强度将背景颜色设置为红色。我根据强度
编写了以下红色代码view.backgroundColor = UIColor(colorLiteralRed: Float(1.0 - cellAlpha), green: 255.0, blue: 255.0, alpha: 1) //UIColor.red intensity based on views
但我无法使用上面设置红色强度?
任何人都可以建议如何根据浮点数设置颜色的强度,从0到1不等。如果我必须解释我的问题,请告诉我。
答案 0 :(得分:1)
假设cellAlpha
介于0和1之间:
UIColor(colorLiteralRed: CGFloat(255.0 - cellAlpha * 255.0), green: 255.0, blue: 255.0, alpha: 1)
请注意,它是CGFloat
,而不是Float
。但最好还是保存所有这些255.0
:
UIColor(red: CGFloat(1.0 - cellAlpha), green: 1.0, blue: 1.0, alpha: 1.0)
然而,听起来好像只想改变发红。为此你需要使用:
UIColor(hue: 0.0, saturation: CGFloat(1.0 - cellAlpha), brightness: 1.0 , alpha: 1.0)
我只是将你的CGFloat(1.0 - cellAlpha)
作为饱和度;你可能需要调整/纠正它。
答案 1 :(得分:0)
注意其他值如何达到255.您还需要将值扩展到该值。
let redScale = 255.0 * (1.0 - Float(cellAlpha))
view.backgroundColor = UIColor(colorLiteralRed: redScale, green: 255.0, blue: 255.0, alpha: 1)