создание цвета, который будет использоваться в кодах Mac и iOS - PullRequest
1 голос
/ 18 января 2011

Я хочу создавать свои цвета единообразно в версиях моего приложения для Mac и iOS.Согласно CGColor.h, функция

CGColorCreate(CGColorSpaceRef space, const CGFloat components[]) 

доступна на обеих платформах.Но это кажется раздражающе тяжеловесом.Есть ли более простой способ?

Спасибо.

1 Ответ

1 голос
/ 19 января 2011

Лично я бы, наверное, просто сказал:

#if TARGET_OS_IPHONE
#define HSBA(h,s,b,a) [UIColor colorWithHue: h saturation: s brightness: b alpha: a]
#else
#define HSBA(h,s,b,a) [NSColor colorWithHue: h saturation: s brightness: b alpha: a]
#endif

id tangerine = HSBA(0.084,1.0,1.0,1.0);

Другой выбор:

#if TARGET_OS_IPHONE
#define MYCOLOR UIColor
#else
#define MYCOLOR NSColor
#endif

MYCOLOR *tangerine = [MYCOLOR colorWithHue:0.084 saturation:1.0 brightness:1.0 alpha:1.0];

Еще одним выбором будет создание вашей собственной функции. :)

...