我通常在iOS上使用Swift扩展名使用自定义UIColors,但是现在在iOS 11 / Xcode 9中,我们可以创建颜色集。我们如何使用它们?
更新-提示
正如@Cœur所说,我们可以拖放颜色,并将其用作UIColor对象,并且可能的解决方案可以将其用作扩展:
或作为常量:
现在我想知道是否可以像访问资产图像的UIImage访问一样访问它们,例如:
UIImage(named: "image-name") -> UIColor(named: "color-name")
UIColor(named: "myColor")
(问题更新的简短答案:Xcode 9.0中有UIColor(named: "MyColor")
)
您需要使用UIColor(named: "MyColor")
。
并且您可以在UIColor扩展中创建一个函数以进行简单访问。
userNameTextField.textColor = UIColor.appColor(.gray)
在Xcode 11中,按Command + shift + L,它将打开一个代码段,选择与我在图像拖放中显示的最后一个代码段。
// iOS
let color = UIColor(named: "SillyBlue")
// macOS
let color = NSColor(named: "SillyBlue")
关于您是否可以使用文字访问颜色资产(如图像)的问题,从xcode 10.2开始,您可以输入enum AssetsColor: String {
case backgroundGray
case blue
case colorAccent
case colorPrimary
case darkBlue
case yellow
}
extension UIColor {
static func appColor(_ name: AssetsColor) -> UIColor? {
return UIColor(named: name.rawValue)
}
}
,然后可以选择资产管理器下要使用的颜色。
colorliteral