كيفية استخدام أكواد الألوان السداسية (HEX Color) في Swift و UIColor؟
مرحبًا! أنا مبتدئ في Swift وتطوير iOS، وواجهت مشكلة مع الألوان. في تصميم الويب، اعتدت استخدام أكواد الألوان السداسية، مثل `#FF5733` للبرتقالي. لكن في Xcode، عند العمل مع `UIColor`، أرى فقط مُهيئات مثل `UIColor.red` أو `UIColor(red: 1.0, green: 0.34, blue: 0.2, alpha: 1.0)`. هذا غير مريح جدًا — حيث يجب تحويل السداسي إلى قيم عشرية في كل مرة.
حاولت كتابة امتداد بسيط، لكنه لا يعمل. إليك الكود الخاص بي:
```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