0
点赞
收藏
分享

微信扫一扫

iOS工具类之16进制颜色转为UIColor


将16进制颜色如#FF0000,转换为UIColor:

Obj-c代码

iOS工具类之16进制颜色转为UIColor_c代码

 

iOS工具类之16进制颜色转为UIColor_c代码_02

iOS工具类之16进制颜色转为UIColor_16进制_03

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. }

举报

相关推荐

0 条评论