【发布时间】:2018-03-07 11:32:15
【问题描述】:
我想将 RGB 值转换为十六进制字符串。我将 Hex 转换为 RGB,如下所示,反之亦然。
func hexStringToRGB(_ hexString: String) -> (red: CGFloat, green: CGFloat, blue: CGFloat) {
var cString:String = hexString.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
if (cString.hasPrefix("#")) {
cString.remove(at: cString.startIndex)
}
if ((cString.count) != 6) {
return (red: 0.0, green: 0.0, blue: 0.0)
}
var rgbValue:UInt32 = 0
Scanner(string: cString).scanHexInt32(&rgbValue)
return (
red: CGFloat((rgbValue & 0xFF0000) >> 16),
green: CGFloat((rgbValue & 0x00FF00) >> 8),
blue: CGFloat(rgbValue & 0x0000FF))
}
【问题讨论】:
-
根据答案,返回 UIColor 但我想要十六进制字符串而不是颜色
-
crunchybagel.com/working-with-hex-colors-in-swift-3 找到此链接.. 可能对您有用