我有一系列看起来像这样的颜色......
var purpleShades: [(CGFloat, CGFloat, CGFloat)] = [(186.0/255.0, 85.0/255.0, 211.0/255.0), (147.0/255.0, 112.0/255.0, 219.0/255.0), (138.0/255.0, 43.0/255.0, 226.0/255.0), (148.0/255.0, 0.0/255.0, 211.0/255.0), (153.0/255.0, 50.0/255.0, 204.0/255.0), (139.0/255.0, 0.0/255.0, 139.0/255.0)]
而不是重复的代码想知道是否有人可以帮助将它转换为UIColor,所以我可以将它用于这段代码。
cell.tintColor = grayShades[Int(index)]
答案 0 :(得分:3)
init
的{{3}}可能会帮助您
它接受red
,green
,blue
和alpha
作为参数。
答案 1 :(得分:1)
这是UIColor
的一个很好的扩展:
extension UIColor {
convenience init(hex: UInt, alpha: CGFloat) {
var red, green, blue: UInt
red = ((hex & 0xFF0000) >> 16)
green = ((hex & 0x00FF00) >> 8)
blue = hex & 0x0000FF
self.init(red: CGFloat(red) / 255, green: CGFloat(green) / 255, blue: CGFloat(blue) / 255, alpha: alpha)
}
}
你可以这样写:
let purple = UIColor(hex: 0x9932CC, alpha: 1)
如果您有很多颜色,UIColor
上的另一个扩展程序会为您提供......
extension UIColor {
static let darkOrchid = UIColor(hex: 0x 9932CC, alpha: 1)
static let darkMagenta = UIColor(hex: 0x 8B008B, alpha: 1)
static let indigo = UIColor(hex: 0x 4B0082, alpha: 1)
}
允许你说,例如......
cell.tintColor = .darkOrchid