Globally change the appearance of the application
About
I tried to create a project where you can globally change the appearance of the application. Perhaps someone was looking for such a solution.
⭐️ Put a like if I helped you, and write ideas on what can be done better.
Themes
.unspecified
The appearance of the system is used..light
Permanent light appearance..dark
Permanent dark appearance.
Colors
.red
.pink
.orange
.yellow
.green
.blue
.purple
- Your own colors that you like.
SceneDelegate
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions) {
self.window?.overrideUserInterfaceStyle = ThemeService.shared.theme.getUserInterfaceStyle()
self.window?.tintColor = ColorService.shared.color.getColorStyle()
}
AppDelegate
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if UserDefaults.standard.object(forKey: DefaultKeys.switchState) == nil {
UserDefaults.standard.set(true, forKey: DefaultKeys.switchState)
}
if UserDefaults.standard.object(forKey: DefaultKeys.selectedColor) == nil {
UserDefaults.standard.set(5, forKey: DefaultKeys.selectedColor)
}
return true
}