/**
16进制颜色转换为UIColor
@param hexColor 16进制字符串(可以以0x开头,可以以#开头,也可以就是6位的16进制)
@return 16进制字符串对应的颜色
*/
+(UIColor *)colorWithHexString:(NSString *)hexColor{
NSString *cString = [[hexColor stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
if ([cString length] < 6) return [UIColor blackColor];
if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2];
if ([cString hasPrefix:@"#"]) cString = [cString substringFromIndex:1];
if ([cString length] != 6) return [UIColor blackColor];
NSString *rString = [cString substringWithRange:NSMakeRange(0, 2)];
NSString *gString = [cString substringWithRange:NSMakeRange(2, 2)];
NSString *bString = [cString substringWithRange:NSMakeRange(4, 2)];
unsigned int r, g, b; // Scan values
[[NSScanner scannerWithString:rString] scanHexInt:&r];
[[NSScanner scannerWithString:gString] scanHexInt:&g];
[[NSScanner scannerWithString:bString] scanHexInt:&b];
return [UIColor colorWithRed:((float)r / 255.0f)
green:((float)g / 255.0f)
blue:((float)b / 255.0f)
alpha:1];
}
网友评论