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

Iphone 创建将由Mac和iOS代码共享的颜色,iphone,macos,ios,colors,portability,Iphone,Macos,Ios,Colors,Portability,我希望在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 bri

我希望在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];

另一个选择是创建自己的函数。:)

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

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

另一个选择是创建自己的函数。:)

就我所知,NSColor没有.CGColor属性。如果您需要CGColor属性,您应该能够找到一个类别来添加它,而不会有太多问题。当然,这并不优雅,但我认为您正在寻找一个简单的每次调用:这看起来可能有用:据我所知,NSColor没有.CGColor属性。如果您需要CGColor属性,您应该能够找到一个类别来添加它,而不会有太多问题。当然,这并不优雅,但我认为您正在寻找一个简单的每次调用:这看起来可能有用: