将16进制颜色如#FF0000,转换为UIColor:
Obj-c代码
1.
2. DEFAULT_VOID_COLOR [UIColor whiteColor]
3. (UIColor *)colorWithHexString:(NSString *)stringToConvert
4. {
5. NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
6.
7.
8. if ([cString length] < 6)
9. return DEFAULT_VOID_COLOR;
10. if ([cString hasPrefix:@"#"])
11. cString = [cString substringFromIndex:1];
12. if ([cString length] != 6)
13. return DEFAULT_VOID_COLOR;
14.
15. NSRange range;
16. range.location = 0;
17. range.length = 2;
18. NSString *rString = [cString substringWithRange:range];
19.
20. range.location = 2;
21. NSString *gString = [cString substringWithRange:range];
22.
23. range.location = 4;
24. NSString *bString = [cString substringWithRange:range];
25.
26.
27. unsigned int r, g, b;
28. [[NSScanner scannerWithString:rString] scanHexInt:&r];
29. [[NSScanner scannerWithString:gString] scanHexInt:&g];
30. [[NSScanner scannerWithString:bString] scanHexInt:&b];
31.
32. return [UIColor colorWithRed:((float) r / 255.0f)
33. green:((float) g / 255.0f)
34. blue:((float) b / 255.0f)
35. alpha:1.0f];
36. }