В итоге я создал категорию для UIColor
, которую я могу просто использовать в других моих проектах, и добавил эту функцию:
+ (UIColor *)colorFromHex:(unsigned long)hex
{
return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0
green:((float)((hex & 0xFF00) >> 8))/255.0
blue:((float)(hex & 0xFF))/255.0
alpha:1.0];
}
Использование идет как:
UIColor *customRedColor = [UIColor colorFromHex:0x990000];
Это намного быстрее, чем передавать строку и преобразовывать ее в число, а затем сдвигать биты.
Вы также можете импортировать категорию из вашего .pch
файла, чтобы вы могли легко использовать colorFromHex
в любом месте вашего приложения, как будто оно встроено в UIColor
:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
// Your other stuff here...
#import "UIColor+HexColor.h"
#endif