Как я могу создать UIColor из шестнадцатеричной строки?

Как создать UIColor из шестнадцатеричного формата строки , такого как #00FF00?

529
задан Bartłomiej Semańczyk 10 May 2017 в 10:15
поделиться

3 ответа

От быстрых 5 существует поддержка того, чтобы сделать это исходно. Код для этого

UIColor(hexString:  "#FFD479")
0
ответ дан 28 July 2019 в 07:48
поделиться

Мне известно об отсутствии встроенного преобразования из шестнадцатеричной строки в UIColor (или CGColor ). Однако вы можете легко написать пару функций для этой цели - например, см. разработка iphone, доступ к компонентам uicolor

26
ответ дан 22 November 2019 в 22:24
поделиться

Я нашел, что самый простой способ сделать это - использовать макрос. Просто включите его в свой заголовок, и он будет доступен во всем вашем проекте.

#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);
714
ответ дан 22 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: