為了便于日常開發(fā)效率,因此創(chuàng)建了一些小的工具類便于使用.
具體 code 如下:
聲明:
/*
為控件設(shè)置色值
*/
#import <UIKit/UIKit.h>
@interface UIColor (FYH)
/**
根據(jù)RGB顏色值生成UIColor
@param rgbValue 顏色值
@param alpha 透明度(0-1)之間
@return 結(jié)果樣式
*/
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha;
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue;
/**
根據(jù)十六進(jìn)制顏色值生成UIColor
@param hexString 十六進(jìn)制色值
@return 結(jié)果樣式
*/
+ (UIColor *)colorWithHexString:(NSString *)hexString;
/**
根據(jù)十六進(jìn)制顏色值生成UIColor
@param hexString 十六進(jìn)制色值
@param alpha 透明度(0-1)之間
@return 結(jié)果樣式
*/
+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;
+ (UIColor *)colorWithHexStringWithAlpha:(NSString *)hexString;
@end
實(shí)現(xiàn):
#import "UIColor+FYH.h"
@implementation UIColor (FYH)
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha {
return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:alpha];
}
+ (UIColor *)colorFromRGB:(NSInteger)rgbValue {
return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0];
}
/**
* hexString eg. #ff0000
*/
+ (UIColor *)colorWithHexString:(NSString *)hexString {
return [UIColor colorWithHexString:hexString alpha:1.0];
}
/**
* hexString eg. #ffffffff
*/
+ (UIColor *)colorWithHexStringWithAlpha:(NSString*)hexString {
if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
hexString = [hexString substringFromIndex:2];
} else if ([hexString hasPrefix:@"#"]) {
hexString = [hexString substringFromIndex:1];
}
unsigned int value = 0;
BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
if(NO == flag)
return [UIColor clearColor];
float r, g, b, a;
a = (value & 0x000000FF) / 255.0;
value = value >> 8;
b = value & 0x000000FF;
value = value >> 8;
g = value & 0x000000FF;
value = value >> 8;
r = value;
return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
}
+ (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha {
if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
hexString = [hexString substringFromIndex:2];
} else if ([hexString hasPrefix:@"#"]) {
hexString = [hexString substringFromIndex:1];
}
unsigned int value = 0;
BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
if(NO == flag)
return [UIColor clearColor];
float r, g, b, a;
a = alpha;
b = value & 0x0000FF;
value = value >> 8;
g = value & 0x0000FF;
value = value >> 8;
r = value;
return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
}
@end
以上便是此次分享的內(nèi)容,期待大神多多指點(diǎn)補(bǔ)充,使其更加強(qiáng)壯!