创建将由Mac和iOS代码共享的颜色

时间:2011-01-18 02:33:24

标签: iphone macos ios colors portability

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

CGColorCreate(CGColorSpaceRef space, const CGFloat components[]) 

可在两个平台上使用。但它似乎令人讨厌的重量级。有更简单的方法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

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

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

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