将16进制颜色如#FF0000,转换为UIColor:
-
- #define
DEFAULT_VOID_COLOR [UIColor whiteColor] - +
(UIColor *)colorWithHexString:(NSString *)stringToConvert - {
-
NSString *cString = [[stringToConvert stringByTrimmingCharacte rsInSet:[NSCharacterSet whitespaceAndNewlineChar acterSet]] uppercaseString]; -
-
-
if ([cString length] < 6) -
return DEFAULT_VOID_COLOR; -
if ([cString hasPrefix:@"#"]) -
cString = [cString substringFromIndex:1]; -
if ([cString length] != 6) -
return DEFAULT_VOID_COLOR; -
-
NSRange range; -
range.location = 0; -
range.length = 2; -
NSString *rString = [cString substringWithRange:range]; -
-
range.location = 2; -
NSString *gString = [cString substringWithRange:range]; -
-
range.location = 4; -
NSString *bString = [cString substringWithRange:range]; -
-
-
unsigned int r, g, b; -
[[NSScanner scannerWithString:rString] scanHexInt:&r]; -
[[NSScanner scannerWithString:gString] scanHexInt:&g]; -
[[NSScanner scannerWithString:bString] scanHexInt:&b]; -
-
return [UIColor colorWithRed:((float) r / 255.0f) -
green:((float) g / 255.0f) -
blue:((float) b / 255.0f) -
alpha:1.0f]; - }