Как создать UIColor
из шестнадцатеричного формата строки , такого как #00FF00
?
От быстрых 5 существует поддержка того, чтобы сделать это исходно. Код для этого
UIColor(hexString: "#FFD479")
Мне известно об отсутствии встроенного преобразования из шестнадцатеричной строки в UIColor
(или CGColor
). Однако вы можете легко написать пару функций для этой цели - например, см. разработка iphone, доступ к компонентам uicolor
Я нашел, что самый простой способ сделать это - использовать макрос. Просто включите его в свой заголовок, и он будет доступен во всем вашем проекте.
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
Макрос uicolor с шестнадцатеричными значениями
Также форматированная версия этого кода:
#define UIColorFromRGB(rgbValue) \
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0x00FF00) >> 8))/255.0 \
blue:((float)((rgbValue & 0x0000FF) >> 0))/255.0 \
alpha:1.0]
Использование:
label.textColor = UIColorFromRGB(0xBC1128);