1

我为应用程序设置了一个 .plist,该应用程序根据颜色按顺序列出颜色或从浅到深。

目前,我们使用 .plist 通过输入它们的 RGB 值来对这些颜色进行排序。我想知道在这种情况下是否可以使用 HEX 而不是 rgb?

如果是这样,它仍然是字符串还是字典类型?请参阅随附的屏幕截图。

当前列表

4

2 回答 2

1

在 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];
}
于 2013-10-05T06:25:57.080 回答
0

当然,您可以将颜色保存为一个十六进制数字,而不是三个单独的值:

r=166, g=166, b=166

将会

a6a6a6

因为 166(十进制)等于 0xa6。

于 2013-10-05T06:26:08.710 回答