选项 1 - 您可以扩展 UIColor 以列出所有颜色并创建一个数组:
extension UIColor {
struct GoTimeThemes {
static let firstColor = UIColor(red: 48.0/255.0, green: 35.0/255.0, blue: 174.0/255.0, alpha: 1.0)
static let secondColor = UIColor(red: 83.0/255.0, green: 160.0/255.0, blue: 263.0/255.0, alpha: 1.0)
static let thirdColor = UIColor(red: 146.0/255.0, green: 80.0/255.0, blue: 156.0/255.0, alpha: 1.0)
static var allColors: [UIColor] {
let colors = [firstColor, secondColor, thirdColor]
return colors
}
}
}
然后像这样调用你的数组
let colors = UIColor.GoTimeThemes.allColors
选项 2 - 您可以将颜色放入符合 CaseIterable 的 Enum 中:
enum ThemeColors: CaseIterable {
case firstTheme, secondTheme, thirdTheme
var color: UIColor {
switch self {
case .firstTheme:
return UIColor(red: 48.0/255.0, green: 35.0/255.0, blue: 174.0/255.0, alpha: 1.0)
case .secondTheme:
return UIColor(red: 83.0/255.0, green: 160.0/255.0, blue: 263.0/255.0, alpha: 1.0)
case .thirdTheme:
return UIColor(red: 146.0/255.0, green: 80.0/255.0, blue: 156.0/255.0, alpha: 1.0)
}
}
}
并使用allCases 调用它以获取集合:
ThemeColors.allcases //→ [firstTheme, secondTheme, thirdTheme]