如何在 Swift 和 UIColor 中使用十六进制颜色代码 (HEX Color)?
你好!我是 Swift 和 iOS 开发的新手,在颜色方面遇到了问题。在网页设计中,我习惯使用十六进制颜色代码,例如 `#FF5733` 表示橙色。但在 Xcode 中,使用 `UIColor` 时,我只看到像 `UIColor.red` 或 `UIColor(red: 1.0, green: 0.34, blue: 0.2, alpha: 1.0)` 这样的初始化方法。这非常不方便——每次都要将 hex 转换为十进制值。
我尝试写了一个简单的 extension,但它不起作用。这是我的代码:
```swift
extension UIColor {
convenience init(hex: String) {
let hexString = hex.trimmingCharacters(in: .whitespacesAndNewlines)
let scanner = Scanner(string: hexString)
var color: UInt64 = 0
scanner.scanHexInt64(&color)
let r = CGFloat((color & 0xFF0000) >> 16) / 255.0
let g = CGFloat((color & 0x00FF00) >> 8) / 255.0
let b = CGFloat(color & 0x0000FF) / 255.0
self.init(red: r, green: g, blue: b, alpha: 1.0)
}
}
```
当使用 `UICol