将16进制转为 UIColor
2016-06-03 10:00
567 查看
+ (UIColor *) colorFromHexCode:(NSString *)hexString {
NSString *cleanString = [hexString
stringByReplacingOccurrencesOfString:@"#"
withString:@""];
if([cleanString
length] == 3) {
cleanString = [NSString
stringWithFormat:@"%@%@%@%@%@%@",
[cleanString substringWithRange:NSMakeRange(0,
1)],[cleanString substringWithRange:NSMakeRange(0,
1)],
[cleanString substringWithRange:NSMakeRange(1,
1)],[cleanString substringWithRange:NSMakeRange(1,
1)],
[cleanString substringWithRange:NSMakeRange(2,
1)],[cleanString substringWithRange:NSMakeRange(2,
1)]];
}
if([cleanString
length] == 6) {
cleanString = [cleanString stringByAppendingString:@"ff"];
}
unsigned int baseValue;
[[NSScanner scannerWithString:cleanString]
scanHexInt:&baseValue];
float red = ((baseValue >>
24) & 0xFF)/255.0f;
float green = ((baseValue >>
16) & 0xFF)/255.0f;
float blue = ((baseValue >>
8) & 0xFF)/255.0f;
float alpha = ((baseValue >>
0) & 0xFF)/255.0f;
return [UIColor
colorWithRed:red green:green
blue:blue alpha:alpha];
}
NSString *cleanString = [hexString
stringByReplacingOccurrencesOfString:@"#"
withString:@""];
if([cleanString
length] == 3) {
cleanString = [NSString
stringWithFormat:@"%@%@%@%@%@%@",
[cleanString substringWithRange:NSMakeRange(0,
1)],[cleanString substringWithRange:NSMakeRange(0,
1)],
[cleanString substringWithRange:NSMakeRange(1,
1)],[cleanString substringWithRange:NSMakeRange(1,
1)],
[cleanString substringWithRange:NSMakeRange(2,
1)],[cleanString substringWithRange:NSMakeRange(2,
1)]];
}
if([cleanString
length] == 6) {
cleanString = [cleanString stringByAppendingString:@"ff"];
}
unsigned int baseValue;
[[NSScanner scannerWithString:cleanString]
scanHexInt:&baseValue];
float red = ((baseValue >>
24) & 0xFF)/255.0f;
float green = ((baseValue >>
16) & 0xFF)/255.0f;
float blue = ((baseValue >>
8) & 0xFF)/255.0f;
float alpha = ((baseValue >>
0) & 0xFF)/255.0f;
return [UIColor
colorWithRed:red green:green
blue:blue alpha:alpha];
}
相关文章推荐
- iOS关于UILabel 基本属性 背景图片 背景色
- passed into methods by value java专题
- Js和EasyUi随笔小记
- STL系列之deque双向队列的问题
- iOS 中 为UIView添加背景图片
- Queue.queue 退出与阻塞
- Kendo UI常用示例汇总(十一)
- CharSequence的getText()与String的getString()区别
- java基础第十六天_GUI/socket
- 利用bounds处理tableView顶部上下滑动
- tableView 滑动删除
- 关于SQLException:Value'0000-00-00 00:00:00'can not be represented as java.sql.Timestamp的问题
- 【Java基础二】break && continue
- 第六天 iOS中用Storyboard modal UINavigationController不能dismiss的问题
- Handler Looper Messagequeue Thread关系
- leetcode 334. Increasing Triplet Subsequence-递增序列|双指针
- UNIX 环境高级编程(一) apue.h 文件与apue.3e的安装
- 1.页面布局-easyUi
- 建造模式Builder
- 建造模式Builder