十六进制代码,颜色鲜艳

时间:2011-12-01 14:23:16

标签: iphone objective-c ios ios4 uicolor

我的问题可能很愚蠢。是否有[UIColor clearColor]的十六进制代码?如果是这样,代码是什么?提前谢谢。

4 个答案:

答案 0 :(得分:7)

ClearColor的

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);