设置UIView的颜色强度

时间:2017-07-01 08:50:53

标签: ios objective-c swift

我正在研究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不等。如果我必须解释我的问题,请告诉我。

2 个答案:

答案 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)