//16进制颜色(html颜色值)字符串转为UIColor
2015-09-14 15:40
134 查看
+ (UIColor *) colorWithHexString: (NSString *) stringToConvert
{
NSString *cString = [[stringToConvert
stringByTrimmingCharactersInSet:[NSCharacterSet
whitespaceAndNewlineCharacterSet]]
uppercaseString];
// String should be 6 or 8 characters
if (cString.length <
6)
{
return [UIColor
blackColor];
}
// 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
blackColor];
}
// Separate into r, g, b substrings
NSRange range;
range.location =
0;
range.length =
2;
NSString *rString = [cString
substringWithRange:range];
range.location =
2;
NSString *gString = [cString
substringWithRange:range];
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];
// OutLog(@"r=%f,g=%f,b=%f",(float)r,(float)g,(float)b);
return [UIColor
colorWithRed:((float) r /
255.0f)
green:((float) g /
255.0f)
blue:((float) b /
255.0f)
alpha:1.0f];
}
{
NSString *cString = [[stringToConvert
stringByTrimmingCharactersInSet:[NSCharacterSet
whitespaceAndNewlineCharacterSet]]
uppercaseString];
// String should be 6 or 8 characters
if (cString.length <
6)
{
return [UIColor
blackColor];
}
// 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
blackColor];
}
// Separate into r, g, b substrings
NSRange range;
range.location =
0;
range.length =
2;
NSString *rString = [cString
substringWithRange:range];
range.location =
2;
NSString *gString = [cString
substringWithRange:range];
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];
// OutLog(@"r=%f,g=%f,b=%f",(float)r,(float)g,(float)b);
return [UIColor
colorWithRed:((float) r /
255.0f)
green:((float) g /
255.0f)
blue:((float) b /
255.0f)
alpha:1.0f];
}
相关文章推荐
- iOS 欢迎页面的设计 以及UIFort.familyNames
- struct2获取request,session,以及显示
- UITableView学习笔记
- Win10 Build 10537预览版截图曝光 更容易激活
- request.getParameter("scoreNumber")根据什么取值
- UIGestureRecognizer手势
- 高仿金山《电池医生》首页一键省电UI动画效果
- Android 线程中更新UI
- 为UIBtton的文字添加下划线
- iOS学习笔记:UITableView想要的都有
- Jquey学习
- access and faccessat 按照实际用户Id和实际组ID进行文件权限测试
- This virtual machine is configured for 64-bit guest operating systems. However, 64-bit operation is
- media-query
- NGUI判断是否点击到UI控件
- Easyui-Datagrid—表头灵活拖动
- UIViewController生命周期及应用界面切换
- NSAttributedString UIKit Additions 参考
- ios中UI控件的继承关系
- 使用autolayout设置UITableView的tableHeaderView