将十六进制值从字符串转换为hext颜色代码

dur*_*rai 2 macros cocoa objective-c plist uicolor

在Objective-C xcode项目中,我有一个plist文件,用于将整数与十六进制代码相关联.动态地我想使用plist文件中的这个颜色代码并将该十六进制值传递给下面的宏来获取UIColor对象.

宏:

#define UIColorFromRGB(rgbValue) [UIColor \
 colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
Run Code Online (Sandbox Code Playgroud)

我需要传递给此宏的实际十六进制值是0xF2A80C,但它存在于plist文件中.我可以把它作为一个字符串.在这种情况下我该怎么做?

提前致谢.

你想要关于这个的任何细节吗?

Jan*_*ano 8

NSScanner *scanner = [NSScanner scannerWithString:hexString];
unsigned hex;
BOOL success = [scanner scanHexInt:&hex];
UIColor *color = UIColorFromRGB(hex);
Run Code Online (Sandbox Code Playgroud)