一、暗黑模式的原理
- 将原本的资源文件,创建出两种不同的模式。根据不同的模式,自动获取该样式的资源。
- 每次切换系统模式的时候,系统会重新调用一些方法,重新赋值。
二、暗黑模式适配主要考虑的是:
-
1、 图片适配
-
2、颜色适配(文字颜色,背景颜色)
-
3、状态栏适配
-
4、关闭暗⿊模式(或者关闭某⼀个页⾯的暗⿊模式)
-
5、模式切换代理
三、如果不需要适配暗黑模式的话去info里面关闭即可。

四、iOS13之前 UIColor 只能代表⼀种颜⾊,但是在iOS13之后,系统提供了⼀些 UIColor 的颜⾊是动态的,可以在 Light Mode 和 Dark Mode 下显⽰不同的颜色。在这⾥不多讲,因为真是开发中,⽂字颜⾊或者背景颜⾊都是UI设计好的,不太可能会⽤到系统的。
系统提供的动态颜色有: labelColor、systemBackgroundColor、secondarySystemBackgroundColor、tertiarySystemBackgroundColor、systemGroupedBackgroundColor、secondarySystemGroupedBackgroundColor、tertiarySystemGroupedBackgroundColor等。
五、颜色适配
1、iOS13苹果提供了两个专⽤的⽅法:
+ (UIColor *)colorWithDynamicProvider:(UIColor * (^)(UITraitCollection *traitCollection))dynamicProvider API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
- (UIColor *)initWi

本文详细介绍了iOS应用如何适配暗黑模式,包括颜色、图片的动态适配,以及如何关闭特定界面的暗黑模式。通过使用UIColor的动态提供方法和Asset Catalogs配置不同模式下的资源,实现无缝切换。同时,文章提到了UIViewController和UIView的overrideUserInterfaceStyle属性,用于单个界面不遵循系统暗黑模式。

617

被折叠的 条评论
为什么被折叠?



