十六进制颜色转UIColor

十六进制颜色转UIColor很多地方我们都使用 16 进制颜色 但 iPhone 使用的是 UIColor 对象 不直接支持 16 进制颜色 为此 需要我们手动将 16 进制颜色转换为 UIColor

大家好,欢迎来到IT知识分享网。

很多地方我们都使用16进制颜色,但iPhone使用的是UIColor对象,不直接支持16进制颜色,为此,需要我们手动将16进制颜色转换为UIColor

– (UIColor *)getColor:(NSString*)hexColor

{

unsigned int red,green,blue;

NSRange range;

range.length = 2;

 

range.location = 0;

[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&red];

 

range.location = 2;

[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&green];

 

range.location = 4;

[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&blue];

 

return [UIColor colorWithRed:(float)(red/255.0f)green:(float)(green / 255.0f) blue:(float)(blue / 255.0f)alpha:1.0f];

}

[self.view setBackgroundColor:[self getColor:@”FF0000″]];



一个面试题:使用内联函数把@“#ff3344”转成UIColor

[cpp]  view plain copy

  1. – (UIColor *) stringTOColor:(NSString *)str  
  2. {  
  3.     if (!str || [str isEqualToString:@“”]) {  
  4.         return nil;  
  5.     }  
  6.     unsigned red,green,blue;  
  7.     NSRange range;  
  8.     range.length = 2;  
  9.     range.location = 1;  
  10.     [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&red];  
  11.     range.location = 3;  
  12.     [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&green];  
  13.     range.location = 5;  
  14.     [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&blue];  
  15.     UIColor *color= [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:1];  
  16.     return color;  
  17. }  

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/106928.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信