如何在iphone中放置十六进制代码

时间:2010-09-13 04:18:34

标签: iphone

嗨,我是iphone的新手。我正在使用fallowing代码进行imageview背景颜色

imageView.backgroundColor = [UIColor redColor];

但我需要使用十六进制代码设置背景颜色(例如0xffff)我该怎么做?

提前谢谢你

1 个答案:

答案 0 :(得分:4)

也许创建一个类别?

@interface UIColor (HexColor)
- (UIColor *)colorWithHex:(unsigned int)hex;
@end

@implementation UIColor (HexColor)
- (UIColor *)colorWithHex:(unsigned int)hex
{
   unsigned int redHex = (hex >> 16) & 0xFF;
   unsigned int greenHex = (hex >> 8) & 0xFF;
   unsigned int blueHex = hex & 0xFF;

   CGFloat redValue = (CGFloat)redHex / (CGFloat)0xFF;
   CGFloat greenValue = (CGFloat)greenHex / (CGFloat)0xFF;
   CGFloat blueValue = (CGFloat)blueHex / (CGFloat)0xFF;

   return [UIColor colorWithRed:redValue green:greenValue blue:blueValue];
}
@end

请注意,我为每种颜色使用了2个十六进制值。 0xAABBCC为AA为红色,BB为绿色,CC为蓝色。

这将为您提供一个UIColor,然后您可以将其用作背景颜色。