猿问
如何从十六进制字符串创建UIColor?
如何从十六进制字符串创建UIColor?
如何创建
UIColor
从
十六进制
字符串格式,如
#00FF00
?
慕森卡
浏览 544
回答 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
慕田峪4524236
简明的解决办法:// 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
相关分类
iOS
我要回答