📜  快速十六进制颜色 - Swift (1)

📅  最后修改于: 2023-12-03 14:54:19.155000             🧑  作者: Mango

快速十六进制颜色 - Swift

有时候,我们在编写 iOS 应用时需要使用特定的颜色,而使用十六进制颜色是一种非常常见的用法。在 Swift 中,我们可以通过以下两种方式来定义颜色:

1. 使用十六进制颜色值

这是最常见的用法之一,我们可以通过以下方式来定义颜色:

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 的颜色了。

2. 使用 UIColor 的预先定义的颜色

除了定义自己的颜色,我们还可以使用 UIKit 中的预先定义的颜色,如下所示:

let color = UIColor.red // 红色

当然,也有其他的颜色,你可以自行尝试。

总结

在 Swift 中,我们可以通过以上两种方式来定义颜色。使用十六进制颜色值可以更加灵活,可以方便地定义自己想要的颜色,而使用预先定义的颜色可以让代码更加简洁易懂。