iOS根据16进制的色号来设置颜色,适合封装工具类

时间:2023-03-08 17:34:42

iOS中有时候UI给的一个色号就像 #54e1b7 这个,而我们一般设置颜色都是根据RBG来设置的,所以这里需要把这个16进制的色号转为RGB值,这里我们就使用一下的方法来调用设置颜色。

 + (UIColor *)getColor:(NSString *)hexColor
{
if (hexColor == nil || hexColor.length == ) {
NSLog(@"color string is nil.");
return [UIColor blackColor];
}
unsigned int red,green,blue;
NSRange range;
range.length = ; range.location = ;
NSString *deHexColor = [hexColor substringWithRange:range];
[[NSScanner scannerWithString:deHexColor] scanHexInt:&red]; range.location = ;
deHexColor = [hexColor substringWithRange:range];
[[NSScanner scannerWithString:deHexColor] scanHexInt:&green]; range.location = ;
deHexColor = [hexColor substringWithRange:range];
[[NSScanner scannerWithString:deHexColor] scanHexInt:&blue]; return [UIColor colorWithRed:(float)(red/255.0f) green:(float)(green / 255.0f) blue:(float)(blue / 255.0f) alpha:1.0f];
}