猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何从十六进制字符串创建UIColor?
如何从十六进制字符串创建UIColor?
如何创建
UIColor
从
十六进制
字符串格式,如
#00FF00
?
繁花不似锦
浏览 292
回答 3
3回答
慕后森
我发现最简单的方法就是用宏。只要将其包含在标题中,它就可以在整个项目中使用。#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]带有十六进制值的uicolor宏也是此代码的格式化版本:#define UIColorFromRGB(rgbValue) \[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ green:((float)((rgbValue & 0x00FF00) >> 8))/255.0 \ blue:((float)((rgbValue & 0x0000FF) >> 0))/255.0 \ alpha:1.0]用法:label.textColor = UIColorFromRGB(0xBC1128);
0
0
0
一只甜甜圈
简明的解决办法:// Assumes input like "#00FF00" (#RRGGBB).+ (UIColor *)colorFromHexString:(NSString *)hexString { unsigned rgbValue = 0; NSScanner *scanner = [NSScanner scannerWithString:hexString]; [scanner setScanLocation:1]; // bypass '#' character [scanner scanHexInt:&rgbValue]; return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16)/255.0 green:((rgbValue & 0xFF00) >> 8)/255.0 blue:(rgbValue & 0xFF)/255.0 alpha:1.0];}
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
iOS
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续