📅  最后修改于: 2023-12-03 14:54:19.155000             🧑  作者: Mango
有时候,我们在编写 iOS 应用时需要使用特定的颜色,而使用十六进制颜色是一种非常常见的用法。在 Swift 中,我们可以通过以下两种方式来定义颜色:
这是最常见的用法之一,我们可以通过以下方式来定义颜色:
let color = UIColor(hexString: "#FF0000") // 红色
这里 hexString
是一个扩展方法,你可以这么实现:
extension UIColor {
convenience init(hexString: String) {
let scanner = Scanner(string: hexString)
scanner.scanLocation = 0
var rgbValue: UInt64 = 0
scanner.scanHexInt64(&rgbValue)
let red = (rgbValue & 0xFF0000) >> 16
let green = (rgbValue & 0x00FF00) >> 8
let blue = rgbValue & 0x0000FF
self.init(
red: CGFloat(red) / 255.0,
green: CGFloat(green) / 255.0,
blue: CGFloat(blue) / 255.0,
alpha: 1.0
)
}
}
这样,我们就可以使用十六进制颜色值来定义 iOS 的颜色了。
除了定义自己的颜色,我们还可以使用 UIKit 中的预先定义的颜色,如下所示:
let color = UIColor.red // 红色
当然,也有其他的颜色,你可以自行尝试。
在 Swift 中,我们可以通过以上两种方式来定义颜色。使用十六进制颜色值可以更加灵活,可以方便地定义自己想要的颜色,而使用预先定义的颜色可以让代码更加简洁易懂。