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

时间:2022-02-05 19:44:27

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

 1 + (UIColor *)getColor:(NSString *)hexColor
 2 {
 3     if (hexColor == nil || hexColor.length == 0) {
 4         NSLog(@"color string is nil.");
 5         return [UIColor blackColor];
 6     }
 7     unsigned int red,green,blue;
 8     NSRange range;
 9     range.length = 2;
10     
11     range.location = 0;
12     NSString *deHexColor = [hexColor substringWithRange:range];
13     [[NSScanner scannerWithString:deHexColor] scanHexInt:&red];
14     
15     range.location = 2;
16     deHexColor = [hexColor substringWithRange:range];
17     [[NSScanner scannerWithString:deHexColor] scanHexInt:&green];
18     
19     range.location = 4;
20     deHexColor = [hexColor substringWithRange:range];
21     [[NSScanner scannerWithString:deHexColor] scanHexInt:&blue];
22     
23     return [UIColor colorWithRed:(float)(red/255.0f) green:(float)(green / 255.0f) blue:(float)(blue / 255.0f) alpha:1.0f];
24 }