color 설정하는 방법
StatusBar
override var preferredStatusBarStyle: UIStatusBarStyle {
return .default
}
override var prefersStatusBarHidden: Bool {
return true
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return .fade
}
NotificationCenter.default.addObserver(self,
selector: #selector(colorThemeChanged),
name: NSNotification.Name(rawValue: "COLOR_THEME_CHANGED"),
object: nil)
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "COLOR_THEME_CHANGED"), object: nil)
func setColors() {
self.view.backgroundColor = ThemeManager.o.colorOf("Theme_backgroundColor")
// 네비게이션바의 배경색 설정
self.navigationController?.navigationBar.barTintColor = ThemeManager.o.colorOf("NavigationBar_barTintColor")
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.tintColor = ThemeManager.o.colorOf("NavigationBar_tintColor")
self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: ThemeManager.o.colorOf("NavigationBar_titleColor")]
self.navigationItem.rightBarButtonItem?.tintColor = ThemeManager.o.colorOf("NavigationBar_ButtonItemTintColor")
}
// MARK: - Notification Handler
@objc func colorThemeChanged() {
print("HomeVC \(#function)")
setColors()
if ThemeManager.o.currentThemeName == "Theme1" {
//self.statusBarStyle = .lightContent
self.navigationController?.navigationBar.barStyle = .black
}
else {
//self.statusBarStyle = .darkContent
self.navigationController?.navigationBar.barStyle = .default
}
//self.setNeedsStatusBarAppearanceUpdate()
}