我们如何使用资产目录颜色集?

问题描述 投票:51回答:8

我通常在iOS上使用Swift扩展名使用自定义UIColors,但是现在在iOS 11 / Xcode 9中,我们可以创建颜色集。我们如何使用它们?

更新-提示

正如@Cœur所说,我们可以拖放颜色,并将其用作UIColor对象,并且可能的解决方案可以将其用作扩展:

UIColor as an extension

或作为常量:

UIColor as a constant

现在我想知道是否可以像访问资产图像的UIImage访问一样访问它们,例如:

UIImage(named: "image-name") -> UIColor(named: "color-name")
swift uicolor asset-catalog ios11 xcode9-beta
8个回答
62
投票
UIColor(named: "myColor") 

37
投票

(问题更新的简短答案:Xcode 9.0中有UIColor(named: "MyColor")


19
投票

短版


11
投票

您需要使用UIColor(named: "MyColor")

并且您可以在UIColor扩展中创建一个函数以进行简单访问。


4
投票
userNameTextField.textColor = UIColor.appColor(.gray)

4
投票

在Xcode 11中,按Command + shift + L,它将打开一个代码段,选择与我在图像拖放中显示的最后一个代码段。

// iOS let color = UIColor(named: "SillyBlue") // macOS let color = NSColor(named: "SillyBlue")


3
投票

您可以使用这种方式进行简单访问(swift 4)

enter image description here

1
投票

关于您是否可以使用文字访问颜色资产(如图像)的问题,从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

© www.soinside.com 2019 - 2024. All rights reserved.