我们平时在工作中UI给的值一般是#666666
也可能是0x666666
,很少会给出RGB(102,102,102)
这样的色值
刚才在我老大的项目中看到了这样的写法,不知道是不是他写的,不过实用容易理解。网上也有很多十六进制转UIColor
的写法,自己取舍。
{
if (!str || [str isEqualToString:@""])
{
return nil;
}
unsigned red,green,blue;
NSRange range;
range.length = 2;
range.location = 0;
[[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&red];
range.location = 2;
[[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&green];
range.location = 4;
[[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&blue];
UIColor *color= [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:1];
return color;
}```