如何使用适合当前平台的颜色类

  • 本文关键字:平台 颜色 何使用 swift
  • 更新时间 :
  • 英文 :


我试图在iOS和OS X上分享我的Scene Kit代码,但接受颜色(和图像)的API调用根据平台采取UIColor/UIImage或NSColor/NSImage。我如何在Swift中创建正确的类而不复制代码?

使用条件编译和类型别名:
#if os(OSX)
    typealias Color = NSColor
    typealias Image = NSImage
#else
    typealias Color = UIColor
    typealias Image = UIImage
#endif

然后使用Color代替UIColor NSColor:

self.gameView!.backgroundColor = Color(red: 0, green: 0.2, blue: 0.5, alpha: 1)

编辑2016-01-17:正如DDPWNAGE上面提到的,苹果创建的SKColor具有基本相同的定义。

最新更新