我正在开发一个应用程序,其中从文档目录中的xml文件中读取颜色代码,如(#ff0000)。我已经定义了一个Macro UIColorFromRGB,当我直接传递颜色代码时它也能正常工作,如下所示:
bgView.backgroundColor = UIColorFromRGB(0xff0000);
如果我必须传递以下代码,我应该更改什么:
bgView.backgroundColor = UIColorFromRGB(mycolor);
其中(mycolor)是NSString obj,它包含从xml文件中获取的值(#ff0000)?
非常感谢您的帮助!!!
答案 0 :(得分:3)
NSScanner
有一个-scanHexInt:
方法,可用于将字符串转换为整数。
NSScanner *scanner = [NSScanner scannerWithString:mycolor];
if ([scanner scanString:@"#" intoString:NULL]) {
unsigned int colorValue = 0;
if ([scanner scanHexInt:&colorValue]) {
...
}
}