.plist,使用HEX而不是RGB?

时间:2013-10-05 06:18:54

标签: ios colors plist

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

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

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

current plist

2 个答案:

答案 0 :(得分:1)

在plist中为HEX添加一个新字符串并添加hexstring。并使用此代码getcolor

+ (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];
}

答案 1 :(得分:0)

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

r=166, g=166, b=166

将是

a6a6a6

166(十进制)等于0xa6。