我想在用户点击元素时总是改变颜色,但点击后我得到白色或透明色(我不会看到对象)
有我的代码:
let red = arc4random_uniform(256)
let green = arc4random_uniform(256)
let blue = arc4random_uniform(256)
color = UIColor(red: CGFloat(red), green: CGFloat(green), blue: CGFloat(blue), alpha: CGFloat(1))
如果我使用UIColor.green
或其他颜色的作品
答案 0 :(得分:2)
RGB值必须在0到1.0的范围内指定。将RGB值除以256,因为大于1.0的值被解释为1.0。 见https://developer.apple.com/reference/uikit/uicolor/1621925-init
答案 1 :(得分:0)
在创建颜色之前,尝试将每个值除以1:
color = UIColor(red: CGFloat(1.0 / red), green: CGFloat(1.0 / green), blue: CGFloat(1.0 / blue), alpha: CGFloat(1))
答案 2 :(得分:0)
试试这个。
let red = randomInteger(limited: 256)
let green = randomInteger(limited: 256)
let blue = randomInteger(limited: 256)
color = UIColor(red: CGFloat(256 / red), green: CGFloat(256 / green), blue: CGFloat(256 / blue), alpha: CGFloat(1.0))
public func randomInteger(limited limit: Int) -> Int
{
return Int(arc4random_uniform(UInt32(limit)))
}
但是你必须对回归的价值做些什么。 颜色范围为0.0到1.0