我如何用swift生成随机颜色
问题描述:
我正在尝试使用swift游乐场(iPad应用程序)制作绘图设备。我使用的形状模板,并认为它会很酷,有一个函数,为每个绘图线生成随机颜色!我如何用swift生成随机颜色
Basicaly我的问题是:我如何生成随机颜色?
谢谢你的帮助!
答
您需要制作3个随机颜色;一个用于红色,绿色和蓝色。然后用变量的值创建一个新的颜色!因此,该函数的代码将
func getRandomColor() -> Color{
var randomRed:CGFloat = CGFloat(drand48())
var randomGreen:CGFloat = CGFloat(drand48())
var randomBlue:CGFloat = CGFloat(drand48())
return Color(red: Double(randomRed), green: Double(randomGreen), blue: Double(randomBlue), alpha: 1.0)
}
答
您可以扩展的UIColor并添加自定义初始化,需要一个单一的UInt32的,并使用HSB颜色初始化生成一个随机纯色:
extension UIColor{
static var random: UIColor {
return UIColor(hue: CGFloat(arc4random_uniform(.max))/CGFloat(UInt32.max), saturation: 1, brightness: 1, alpha: 1)
}
}
用法:
let randomColor: UIColor = .random // r 0,835 g 0,0 b 1,0 a
可以生成3数b为RGB /瓦特0-255和构造色对象 –