如何将NSString转换为rgbValue并将其作为值作为UIColorFromRGB的参数传递?

时间:2011-03-31 19:48:41

标签: uicolor

我正在开发一个应用程序,其中从文档目录中的xml文件中读取颜色代码,如(#ff0000)。我已经定义了一个Macro UIColorFromRGB,当我直接传递颜色代码时它也能正常工作,如下所示:

bgView.backgroundColor = UIColorFromRGB(0xff0000);

如果我必须传递以下代码,我应该更改什么:

bgView.backgroundColor = UIColorFromRGB(mycolor);

其中(mycolor)是NSString obj,它包含从xml文件中获取的值(#ff0000)?

非常感谢您的帮助!!!

1 个答案:

答案 0 :(得分:3)

NSScanner有一个-scanHexInt:方法,可用于将字符串转换为整数。

NSScanner *scanner = [NSScanner scannerWithString:mycolor];
if ([scanner scanString:@"#" intoString:NULL]) {
    unsigned int colorValue = 0;
    if ([scanner scanHexInt:&colorValue]) {
        ...
    }
}