所以在 SO 上有答案,但它们已经过时了,据我所知objectiveC
,所以......
我想设置从不同的传递的backgroundcolor
usingInt
变量view
,如下所示:
backgroundView.backgroundColor = UIColor(red: red/255, green: green/255, blue: blue/255, alpha: 0.5)
使用的变量red
green
blue
是这样的:
var red: Int!
var green: Int!
var blue: Int!
view
当然还有以前的数字。
Xcode 想让我把它转换成CGFloat
这样:
backgroundView.backgroundColor = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 0.5)
但是正确的颜色不会被保留,只显示灰色。
我尝试将Int
变量更改为UIColor
var red: UIColor!
但这给了我一个错误......
那么,我该如何解决这个问题?
在将值除以 255 之前,您必须将其转换为浮点数,否则将除以两个整数,结果始终为 0:
CGFloat(red) / 255 = 0.5647058823529412
CGFloat(red / 255) = 0
backgroundView.backgroundColor = UIColor(red: CGFloat(red) / 255, green: CGFloat(green) / 255, blue: CGFloat(blue) / 255, alpha: 0.5)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句