中有时候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 }