今天开发中需要将UIColor转为十六进制字符串,记录下修改代码

        UIColor *color = [UIColor blueColor];
const CGFloat* components = CGColorGetComponents(color.CGColor);
NSString *alpha = [self getHexByDecimal:CGColorGetAlpha(color.CGColor)*255.0];
NSString *red = [self getHexByDecimal:components[0]*255.0];
NSString *green = [self getHexByDecimal:components[1]*255.0];
NSString *blue = [self getHexByDecimal:components[2]*255.0];
NSSTring colorStr = [NSString stringWithFormat:@"#%@%@%@%@", alpha, red, green, blue]; /** 十进制转十六进制*/
+ (NSString *)getHexByDecimal:(NSInteger)decimal
{
NSString *hex =@"";
NSString *letter;
NSInteger number;
for (int i = 0; i<9; i++) {
number = decimal % 16;
decimal = decimal / 16;
switch (number) {
case 10:
letter =@"A"; break;
case 11:
letter =@"B"; break;
case 12:
letter =@"C"; break;
case 13:
letter =@"D"; break;
case 14:
letter =@"E"; break;
case 15:
letter =@"F"; break;
default:
letter = [NSString stringWithFormat:@"%ld", number];
}
hex = [letter stringByAppendingString:hex];
if (decimal == 0) { break;
}
}
return hex;
}

最新文章

  1. ASP.NET MVC5 网站开发实践(一) - 项目框架
  2. python爬虫学习(1) —— 从urllib说起
  3. C++STL内存管理方法(g++版)
  4. java理论基础学习三
  5. HashSet与HashMap、Hashtable
  6. Markdown 使用说明
  7. [OFBiz]开发 一
  8. 【HDOJ】1114 Piggy-Bank
  9. Matplot中文乱码完美解决方式
  10. 用cssText属性批量操作样式
  11. RabbitQM使用笔记
  12. NOIP2011 D2T3 观光公交 做题笔记
  13. Spring 基础知识(三)MVC 架构简介
  14. C++实现词法分析器
  15. 2.25 js处理多窗口
  16. Ajax引擎:ajax请求步骤详细代码
  17. XML文件之创建
  18. Vue.js写一个SPA登录页面的过程
  19. CentOS7.6安装Git(IUS方式)
  20. kali 下 apache 配置文件

热门文章

  1. Linux C 用GPS时间更新系统时间的方法。
  2. 当LOGO设计与世界文化擦出火花——JJQ的LOGO设计之路
  3. 论文翻译:2022_Time-Shift Modeling-Based Hear-Through System for In-Ear Headphones
  4. JSP第十次作业
  5. Docker修改已有容器的端口映射
  6. Sentry 后端云原生中间件实践 ClickHouse PaaS ,为 Snuba 事件分析引擎提供动力
  7. spring-in-action_day02
  8. .NET周报 【2月第2期 2023-02-11】
  9. C++并发-同步并发
  10. 文盘Rust -- 本地库引发的依赖冲突