gpt4 book ai didi

Swift 右 CustomColor 类声明

转载 作者:行者123 更新时间:2023-11-30 11:43:57 26 4
gpt4 key购买 nike

由于 Swift 中奇怪的颜色解决方案,我需要制作自定义颜色类。我不知道我做得对吗。

我有一个类 CustomColors()

和用法:color = CustomColors().black并且工作完美

但我想使用如下:color = CustomColors(.Black)

我不能这样做:

init(_ Color: Colors) 
{
switch Colors
case .Black
return UIColor(r:255,g:255,b:255,a:255)
}

很多事情我都不知道。有人能给我提供正确的解决方案吗?谢谢。

最佳答案

您可以使用带有方便初始化程序的 UIColor 扩展来代替自定义类,如下所示:

extension UIColor {

convenience init(color: Colors) {
switch color {
case .black:
self.init(red: 1, green: 1, blue: 1, alpha: 1)
case .white:
self.init(red: 1, green: 1, blue: 1, alpha: 1)
}
}
}

但我认为如果您使用 struct 的静态属性预先定义颜色会更好,如下所示:

struct Theme {
static let colorOne = UIColor(red: 0.952941, green: 0.952941, blue: 0.952941, alpha: 1.0) // F3F3F3
static let colorTwo = UIColor(red: 0.203922, green: 0.203922, blue: 0.203922, alpha: 1.0) // 343434
// and so on...
}

使用

UILabel().backgroundColor = Theme.colorOne
UILabel().textColor = Theme.colorTwo

关于Swift 右 CustomColor 类声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com