【发布时间】:2017-12-04 11:36:25
【问题描述】:
我仍在尝试掌握所有这些编程概念,并且我有一个带有 rgb 颜色的简单 UIView,并且我在许多不同的视图上使用它。
现在我仍在对每个视图中的颜色进行硬编码:
UIColor(red: 120/255, green: 51/255, blue: 2/255, alpha: 1.0
但我想创建一个 swift 文件(例如称为 Colors.swift),然后我想把所有颜色都放在那里。
现在,在每个视图中,我只想从这个文件中获取颜色,这样我就只有一个地方可以在必要时更改颜色。
我知道如何在 swift 文件中创建一个函数并从另一个地方调用它。例如,我重用的所有动画都放在一个文件中,但是对于这些颜色,我会出现停电。我不知道如何将它们放入另一个文件并将它们从那里取出。完美的是某种具有不同命名颜色(蓝色、绿色……)及其相应 rgb 值的开关盒,这样我就可以调用颜色的名称来获取它。这将是我创建的一个快速文件:
import UIKit
let myColors = UIColor()
switch myColors {
case .red:
UIColor(red: 120/255, green: 51/255, blue: 2/255, alpha: 1.0)
case .gray:
UIColor(red: 120/255, green: 120/255, blue: 120/255, alpha: 1.0)
default:
UIColor(red: 0/255, green: 0/255, blue: 0/255, alpha: 1.0)
}
但是当我在 swift 文件中编写 switch 语句时,我无法让它工作。我得到的错误是 "statements are not allowed on top level" 并且每个 case 都会得到错误 "Results of UIColor initializer is used",但我看不到方法把它放在什么东西里面?
也许整个方法都是错误的?
【问题讨论】:
标签: ios swift colors switch-statement