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

来源:互联网 发布:在淘宝上开店步骤 编辑:程序博客网 时间:2024/03/29 17:53
  1. 原文转自:http://wonderzl.iteye.com/blog/1569123

  2. #define 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 0
原创粉丝点击