16进制颜色(html颜色值)字符串转为UIColor
2016-05-21 16:19
507 查看
//16进制颜色(html颜色值)字符串转为UIColor
+(UIColor *) hexStringToColor: (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];
return [UIColor
colorWithRed:((float) r /
255.0f)
green:((float) g /
255.0f)
blue:((float) b /
255.0f)
alpha:1.0f];
}
+(UIColor *) hexStringToColor: (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];
return [UIColor
colorWithRed:((float) r /
255.0f)
green:((float) g /
255.0f)
blue:((float) b /
255.0f)
alpha:1.0f];
}
相关文章推荐
- Swift 16 进制颜色字符串转 UIColor
- 16进制颜色转化成UIColor
- UIColor & 颜色集
- iOS中 RGB与HSV的相互转换
- UIColor
- UI-UIColor-initWithRed:green:blue:alpha:调研
- 一个宏将十六进制颜色值转成UIColor对象
- iOS 十六进制颜色UIColor+Hex
- iOS开发,用UIColor创建UIImage
- 【ios】UIColor,CGColor,CIColor三者的区别和联系
- UI基础第二天(自学)
- UIColor
- iOS 生成随机颜色(UIColor)
- ios中颜色设置
- UIColor 转 UIImage
- UIButton 设置圆角 边框颜色 点击回调方法
- UIColor,CGColor,CIColor三者的区别和联系
- UIColor
- iOS 16进制转UIColor
- iOS -UIColor随机生成颜色的方法