我为应用程序设置了一个 .plist,该应用程序根据颜色按顺序列出颜色或从浅到深。
目前,我们使用 .plist 通过输入它们的 RGB 值来对这些颜色进行排序。我想知道在这种情况下是否可以使用 HEX 而不是 rgb?
如果是这样,它仍然是字符串还是字典类型?请参阅随附的屏幕截图。
在 plist 中为十六进制添加一个新字符串并添加十六进制字符串。并使用此代码获取颜色
+ (UIColor *) getColor: (NSString *) hexColor
{
unsigned int red, green, blue;
NSRange range;
range.length = 2;
range.location = 0;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&red];
range.location = 2;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&green];
range.location = 4;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&blue];
return [UIColor colorWithRed:(float)(red/255.0f) green:(float)(green/255.0f) blue:(float)(blue/255.0f) alpha:1.0f];
}
当然,您可以将颜色保存为一个十六进制数字,而不是三个单独的值:
r=166, g=166, b=166
将会
a6a6a6
因为 166(十进制)等于 0xa6。