Шестнадцатеричный код для ясного цвета - PullRequest
2 голосов
/ 01 декабря 2011

Мой квест может быть глупым. Есть ли шестнадцатеричный код для [UIColor clearColor]? Если так, то каков код? Заранее спасибо.

Ответы [ 4 ]

7 голосов
/ 01 декабря 2011

Шестнадцатеричный код RGBA для ClearColor: NNNNNN00, тогда как N может быть любым шестнадцатеричным значением (0-F).

4 голосов
/ 01 декабря 2011

Насколько я знаю, шестнадцатеричные цветовые коды состоят из значений RRGGBB, тогда как [UIColor clearColor] очень сильно зависит от наличия альфа-компонента.

Так что ответ "Нет ", нет гекса кода для clearColor.

3 голосов
/ 01 декабря 2011
UIColor *clearColor = [UIColor clearColor];
CGFloat red = 0; 
CGFloat green = 0; 
CGFloat blue = 0; 
CGFloat alpha = 0; 

[clearColor getRed:&red green:&green blue:&blue alpha:&alpha];

NSLog(@"red: %.3f, green: %.3f, blue: %.3f, alpha: %.3f",
red, green, blue, alpha);

NSLog(@"red: 0x%02x, green: 0x%02x, blue: 0x%02x, alpha: 0x%02x",
      (int)(red*255.0), (int)(green*255.0), (int)(blue*255.0), (int)(alpha*255.0));

Вывод NSLog:

red: 0.000, green: 0.000, blue: 0.000, alpha: 0.000
red: 0x00, green: 0x00, blue: 0x00, alpha: 0x00
0 голосов
/ 13 января 2015

Мне нравится использовать шестнадцатеричные цвета в моей конфигурации, поэтому я изменил часто используемый макрос, чтобы разделить шестнадцатеричный RGBA (например, # 00000055 полупрозрачный черный) на UIColor с альфа:

#define UIColorFromRGBA(rgbaValue) [UIColor \
colorWithRed:((float)((rgbaValue & 0xFF000000) >> 24))/255.0 \
green:((float)((rgbaValue & 0xFF0000) >> 16))/255.0 \
blue:((float)((rgbaValue & 0xFF00) >> 8))/255.0 \
alpha:((float)(rgbaValue & 0xFF))/255.0 ]

Пример использования:

cell.backgroundColor = UIColorFromRGBA(0x00000055);
...