16进制颜色转化成UIColor
2015-11-04 10:34
495 查看
在项目中美工设计标注的文字颜色往往是十六进制的形式,如#f2f2f2等,这无法直接使用在工程中,需要转换,方法如下:
+ (UIColor *) colorWithHexString: (NSString *)color{
NSString *cString = [[color
stringByTrimmingCharactersInSet:[NSCharacterSet
whitespaceAndNewlineCharacterSet]] uppercaseString];
// String should be 6 or 8 characters
if ([cString length] <
6) {
return [UIColor
clearColor];
}
// strip 0X if it appears
if ([cString hasPrefix:@"0X"])
cString = [cString
substringFromIndex:2];
if ([cString hasPrefix:@"#"])
cString = [cString
substringFromIndex:1];
if ([cString length] !=
6)
return [UIColor
clearColor];
// Separate into r, g, b substrings
NSRange range;
range.location =
0;
range.length =
2;
//r
NSString *rString = [cString
substringWithRange:range];
//g
range.location =
2;
NSString *gString = [cString
substringWithRange:range];
//b
range.location =
4;
NSString *bString = [cString
substringWithRange:range];
// Scan values
unsigned int r, g, b;
[[NSScanner
scannerWithString:rString] scanHexInt:&r];
[[NSScanner
scannerWithString:gString] scanHexInt:&g];
[[NSScanner
scannerWithString:bString] scanHexInt:&b];
return [UIColor
colorWithRed:((float) r /
255.0f) green:((float) g /
255.0f) blue:((float) b /
255.0f) alpha:1.0f];
}
也可设置成宏的形式:
#define Color_Hex16(C_String) [Color_Process colorWithHexString:C_String]
相关文章推荐
- JavaScript实现把rgb颜色转换成16进制颜色的方法
- Color Cop V5.4.3_适合网页设计师/多用途的颜色采取器_汉化绿色版 下载
- JQuery获取样式中的background-color颜色值的问题
- js实现字符串的16进制编码不加密
- asp.net 半角全角转化工具
- 文本和16进制UltraEdit-32 v13.20+3 官方简体中文版+破解补丁 提供下载
- php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
- java发送heartbeat心跳包(byte转16进制)
- CSS的color颜色使用说明
- php Imagick获取图片RGB颜色值
- javascript实现rgb颜色转换成16进制格式
- js实现可得到不同颜色值的颜色选择器实例
- PHP实现获取图片颜色值的方法
- java实现列表、集合与数组之间转化的方法
- c#实现16进制和字符串之间转换的代码
- JavaScript中的16进制字符(改进)
- 16进制显示字节流技巧分享
- [IOS地图开发系类]5、改变大头针MKPinAnnotationView的颜色
- 科学坐月子,接受现代理念(转自搜狐母婴)
- 夏天如何科学坐月子