Avatar ·

如何在 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