I want to implement Dark mode in a huge project and i don't want to create outlets for each labels and views in order to change the colour as you know it's difficult.
i have created two colour choosers for UIView Subclass as an example using @IBInspectable.
-dayModeBGColor -nightModeBGColor
But App crashes.
My code is as shown below.(Please don't suggest any other way)
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)
}
}
}