我想在Mac和iOS版本的应用程序中以一致的方式创建颜色。根据CGColor.h,该函数

CGColorCreate(CGColorSpaceRef space, const CGFloat components[])


在两个平台上都可用。但是它似乎很烦人。有更容易的方法吗?

谢谢。

最佳答案

就个人而言,我可能会选择:

#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];


另一个选择是创建自己的功能。 :)

10-07 12:53