在iOS开发中,经常有设计给到的颜色值是类似0xffaabb,或者#FFFFFF这种格式的,对于iOS内置的颜色处理UIColor来说,是无法直接处理使用的,因此需要做一个转换,转换方式如下:
+ (UIColor *)colorWithHexString:(NSString *)hexColorString {
if ([hexColorString length] < 6) { //长度不合法
return [UIColor blackColor];
}
NSString *tempString = [hexColorString lowercaseString];
if ([tempString hasPrefix:@"0x"]) { //检查开头是0x
tempString = [tempString substringFromIndex:2];
} else if ([tempString hasPrefix:@"#"]) { //检查开头是#
tempString = [tempString substringFromIndex:1];
}
if ([tempString length] != 6) {
return [UIColor blackColor];
}
//分解三种颜色的值
NSRange range = NSMakeRange(0, 2);
NSString *rString = [tempString substringWithRange:range];
range.location = 2;
NSString *gString = [tempString substringWithRange:range];
range.location =