開發(fā)過程中我們設(shè)計(jì)給過來的設(shè)計(jì)稿經(jīng)常會(huì)是十六進(jìn)制顏色碼,而不是RGB值,這時(shí)候就需要轉(zhuǎn)換成RGB一下才能使用了。
可以給UIColor增添一個(gè)類別,在類別中拓展轉(zhuǎn)換的方法,這樣比較方便調(diào)用
#import <UIKit/UIKit.h>
@interface UIColor (hexColor)
+(UIColor *)colorWithHex:(NSInteger)hex;
+(UIColor *)colorWithHex:(NSInteger)hex andAlpha:(float)alpha;
@end
#import "UIColor+hexColor.h"
@implementation UIColor (hexColor)
+(UIColor *)colorWithHex:(NSInteger)hex
{
return [UIColor colorWithHex:hex andAlpha:1.0];
}
+(UIColor *)colorWithHex:(NSInteger)hex andAlpha:(float)alpha
{
return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255 green:((float)((hex & 0xFF00) >> 8))/255 blue:((float)(hex & 0xFF))/255 alpha:alpha];
}
@end
然后我們可以把設(shè)計(jì)給過來的十六進(jìn)制顏色碼定義成宏,以后就可以直接使用,比較方便
例如值 ffffff
//例如值 ffffff
//宏定義
define HFffffff [UIColor colorWithHex:0xffffff andAlpha:1.0f]
這里需要注意的一點(diǎn)是設(shè)計(jì)給過來的ffffff,我們使用時(shí)需要在前面加上0x表示是16進(jìn)制的值