UInt
は、利便性を持っています今、色配列
に文字列配列をマッピングし、その進値に
func color(from hexString : String) -> CGColor
{
if let rgbValue = UInt(hexString, radix: 16) {
let red = CGFloat((rgbValue >> 16) & 0xff)/255
let green = CGFloat((rgbValue >> 8) & 0xff)/255
let blue = CGFloat((rgbValue ) & 0xff)/255
return UIColor(red: red, green: green, blue: blue, alpha: 1.0).cgColor
} else {
return UIColor.black.cgColor
}
}
を16進文字列を変換する初期化子10
let hexColors = ["6909A1", "7552D1", "59B0DC", "62E3CC"]
let gradientColors = hexColors.map { color(from:$0) }
または代わりUIColor
延長で
extension UIColor {
convenience init(hexString : String)
{
if let rgbValue = UInt(hexString, radix: 16) {
let red = CGFloat((rgbValue >> 16) & 0xff)/255
let green = CGFloat((rgbValue >> 8) & 0xff)/255
let blue = CGFloat((rgbValue ) & 0xff)/255
self.init(red: red, green: green, blue: blue, alpha: 1.0)
} else {
self.init(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)
}
}
}
let hexColors = ["6909A1", "7552D1", "59B0DC", "62E3CC"]
let gradientColors = hexColors.map { UIColor(hexString:$0).cgColor }
種々のステップこの方法を試してみてください:六角文字列からUIColorを作成する方法を見て、その後、 'UIColor'は、プロパティを持っています'CGColor'(これは使用するもの)です。 – Larme