extension UIColor {
var hexString: String {
let colorRef = cgColor.components
let r = colorRef?[0] ?? 0
let g = colorRef?[1] ?? 0
let b = ((colorRef?.count ?? 0) > 2 ? colorRef?[2] : g) ?? 0
let a = cgColor.alpha
var color = String(
format: "#%02lX%02lX%02lX",
lroundf(Float(r * 255)),
lroundf(Float(g * 255)),
lroundf(Float(b * 255))
)
if a < 1 {
color += String(format: "%02lX", lroundf(Float(a * 255)))
}
return color
}
}
3条答案
按热度按时间iqih9akk1#
首先将浮点数转换为int值,然后使用
stringWithFormat
进行格式化:3bygqnnd2#
开始了,返回一个**
NSString
**(例如ffa5678
),其中包含颜色的十六进制值。pvabu6sv3#
Swift 4通过分机UIColor应答: