以某种方式将自定义 .colorNames 添加到 UIColor 中?

2024-01-06

我非常喜欢像这样使用颜色的快捷方式:

myLabel.fontColor = .gray

并制作我自己的,像这样:

static let fadedGreen = SKColor.init(hue: 0.33,
                                     saturation: 1,
                                     brightness: 0.33,
                                     alpha: 1.0)

但这需要调用我放入的类来使用缩写fadedGreen像这样:

myLabel.fontColor = MyStorageClass.fadedGreen

问题:

有没有一种方法可以扩展或以其他方式添加到(我假设的是) UIColor 的枚举预设,以便我可以制作自己的颜色并且只需使用.像这样的点:

myLabel.fontColour = .myCustomColor

...从我的项目中的任何地方?

这是否意味着 SKColor 可以立即使用它们.presets, too?

请原谅我完全不知道如何做这样的事情。


这些并不是真正的颜色快捷方式。这只是推断一种类型。这fontColor属性类型为 UIColor,并且 UIColor 在属性上有一堆只读属性class它们是颜色名称和返回颜色对象。所以当你说

myLabel.fontColor = .myCustomColor

点告诉它“这是某个地方的一个字段,猜猜在哪里”,斯威夫特说,好吧,我需要一个UIColor,所以让我们看看是否UIColor类具有返回正确类型的该名称的属性。

因此,要添加您自己的颜色属性,您必须在 UIColor 的扩展中定义颜色属性。

extension UIColor {
    static let con_pink = UIColor( red: 1.0, green: 0.0, blue: 0.5, alpha: 1.0 )
}

以及那些你可以用作myLabel.fontColor = .con_pink.

但请注意,如果您这样做,您将面临与 Apple 将来可能添加的任何颜色方法发生冲突的风险。因此,我建议您在属性名称中添加前缀(我根据您的用户名为您选择了“con_”),以减少 Apple 使用相同名称的可能性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以某种方式将自定义 .colorNames 添加到 UIColor 中? 的相关文章

随机推荐