16进制颜色转UIColor

设计给的RGB颜色数据,显示出来后与实际值差异很大。效果不是很理想,于是想到用16进制颜色转换UIColor来使用。以下是转换方法:

-(UIColor*)stringToColor:(NSString*)str{

//判断非空

if(!str || [strisEqualToString:@""]) {

return  nil;

}

unsigned  red, green, blue;

NSRangerange;

range.length=2;

range.location=1;

[[NSScannerscannerWithString:[str substringWithRange:range]]scanHexInt:&red];

range.location=3;

[[NSScannerscannerWithString:[str substringWithRange:range]]scanHexInt:&green];

range.location=5;

[[NSScannerscannerWithString:[str substringWithRange:range]]scanHexInt:&blue];

UIColor*color = [UIColorcolorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:1];

return color;

}

注:模拟器显示颜色差异较大,请以真机测试为准。

如发现不足的地方,欢迎再评论区指出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容