gpt4 book ai didi

swift - 如何使用 IBInspectable 在属性检查器中设置夜间模式和白天模式颜色?

转载 作者:行者123 更新时间:2023-11-28 11:28:44 28 4
gpt4 key购买 nike

我想在一个巨大的项目中实现深色模式,我不想为每个标签和 View 创建 outlet 以更改颜色,因为你知道这很困难。

我使用@IBInspectable 为 UIView 子类创建了两个颜色选择器作为示例。

-dayModeBGColor-nightModeBGColor

但是应用程序崩溃了。

我的代码如下所示。(请不要建议任何其他方式)

import UIKit



class ThemeView: UIView {




@IBInspectable var DarkColor: UIColor = UIColor.black {

didSet{
self.layer.backgroundColor = (self.DarkColor as! CGColor)
}

}


@IBInspectable var DayColor: UIColor = UIColor.white {

didSet{
self.layer.backgroundColor = (self.DayColor as! CGColor)
}

}


var selectedBGColor : UIColor = UIColor.white




override func awakeFromNib() {


if Theme.shared.isDarkMode == true {

self.layer.backgroundColor = (DarkColor as! CGColor)

}
else{
self.layer.backgroundColor = (DayColor as! CGColor)
}


}

}

最佳答案

由于将 UIColor 强制转换为 CGColor,应用程序可能会崩溃。

正确的做法应该是self.layer.backgroundColor = self.DarkColor.cgColor

关于swift - 如何使用 IBInspectable 在属性检查器中设置夜间模式和白天模式颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57372689/

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