猿问

如何从十六进制字符串创建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);

慕田峪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];}
随时随地看视频慕课网APP

相关分类

iOS
我要回答