Я написал категорию на UIColor
, которая выполняет это:
Создайте новую категорию Objective-C. В вашей шапке:
#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]
@interface UIColor (Hex)
+ (UIColor*)colorFromHex:(NSString*)hex;
@end
А в твоей реализации:
@implementation UIColor (Hex)
+ (UIColor*)colorFromHex:(NSString *)hex
{
unsigned result = 0;
NSScanner *scanner = [NSScanner scannerWithString:hex];
[scanner setScanLocation:0];
[scanner scanHexInt:&result];
return UIColorFromRGB(result);
}
@end
Предполагается, что ваша шестнадцатеричная строка имеет формат 000000
, но вы можете настроить ее в соответствии с вашими потребностями, чтобы учесть # (изменить [scanner setScanLocation:0]
на [scanner setScanLocation:1]
).