16进制与UIColor互换
来源:http://www.cnblogs.com/yang-guang-girl/p/4137876.html
--恋雪的博客园
输入16进制颜色编码,显示对应的UIColor,我在项目中也用到了,还是不错的
代码如下
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup after loading the view. 5 6 UIView *view=[[UIView alloc]initWithFrame:CGRectMake(50, 100, 200, 200)]; 7 view.backgroundColor=[self colorWithHexString:@"e26562"]; 8 [self.view addSubview:view]; 9 10 } 11 //16进制颜色#e26562与UIColor互转,设置View背景颜色 12 - (UIColor *) colorWithHexString: (NSString *)color 13 { 14 NSString *cString = [[color stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; 15 16 // String should be 6 or 8 characters 17 if ([cString length] < 6) { 18 return [UIColor clearColor]; 19 } 20 21 // strip 0X if it appears 22 if ([cString hasPrefix:@"0X"]) 23 cString = [cString substringFromIndex:2]; 24 if ([cString hasPrefix:@"#"]) 25 cString = [cString substringFromIndex:1]; 26 if ([cString length] != 6) 27 return [UIColor clearColor]; 28 29 // Separate into r, g, b substrings 30 NSRange range; 31 range.location = 0; 32 range.length = 2; 33 34 //r 35 NSString *rString = [cString substringWithRange:range]; 36 37 //g 38 range.location = 2; 39 NSString *gString = [cString substringWithRange:range]; 40 41 //b 42 range.location = 4; 43 NSString *bString = [cString substringWithRange:range]; 44 45 // Scan values 46 unsigned int r, g, b; 47 [[NSScanner scannerWithString:rString] scanHexInt:&r]; 48 [[NSScanner scannerWithString:gString] scanHexInt:&g]; 49 [[NSScanner scannerWithString:bString] scanHexInt:&b]; 50 51 return [UIColor colorWithRed:((float) r / 255.0f)
green:((float) g / 255.0f)
blue:((float) b / 255.0f)
alpha:1.0f]; 52 }

浙公网安备 33010602011771号