一尘不染

如何使用UIColor值创建Swift枚举?

swift

我正在制作绘图应用程序,我想通过枚举引用我的颜色。例如,Colors.RedColor每次我想要红色时,使用它会更干净,更方便,而不用键入值。但是,Swift的原始值枚举似乎并不接受UIColor作为类型。有没有办法用枚举或类似方法做到这一点?


阅读 325

收藏
2020-07-07

共1个答案

一尘不染

我这样做(基本上使用结构作为名称空间):

extension UIColor {
  struct MyTheme {
    static var firstColor: UIColor  { return UIColor(red: 1, green: 0, blue: 0, alpha: 1) }
    static var secondColor: UIColor { return UIColor(red: 0, green: 1, blue: 0, alpha: 1) }
  }
}

您可以像这样使用它:

UIColor.MyTheme.firstColor

因此,您可以在自定义主题中使用红色。

2020-07-07