我的问题可能很愚蠢。是否有[UIColor clearColor]
的十六进制代码?如果是这样,代码是什么?提前谢谢。
答案 0 :(得分:7)
RGBA十六进制代码:
NNNNNN00
,而N可以是任何十六进制值(0-F)。
答案 1 :(得分:4)
据我所知,hexadecimal color codes由RRGGBB值组成,而[UIColor clearColor]
非常依赖于alpha分量。
所以答案是“不”,clearColor
没有六进制代码。
答案 2 :(得分:3)
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
答案 3 :(得分:0)
我喜欢在我的配置中使用十六进制颜色,因此我修改了一个常用的宏来将RGBA十六进制(例如#00000055半透明黑色)拆分为带有alpha的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);