提起夜间/黑暗模式先说说优点
1.护眼 没有强烈的白光刺激眼睛
2.省电 对于oled屏幕黑色地方是不发光的
本人看来这是最直接的表象 屏幕成像原理啥的咱也不懂
废话不多说
总结一下适配的经验
1.背景色 普遍背景色为白色
2.文字颜色 大部分文字主要显示的颜色是黑色
我们找到这两点,基本你把这两颜色适配完了你的应用在夜间模式下是能看的,说不上完美,但是基本所有内容并无缺失。
适配之前的写法
self.view.backgroundColor = [UIColor whiteColor];
适配之后的写法
UIColor *color = ({UIColor *coloerN;if (@available(iOS 13.0, *)){coloerN = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trait) {if (trait.userInterfaceStyle == UIUserInterfaceStyleDark){return [UIColor blackColor];} else {return [UIColor whiteColor];}}];}else{coloerN = [UIColor whiteColor];}coloerN;});self.view.backgroundColor = color;
为例避免繁多的代码建议对颜色进行封装
再有不建议在系统颜色上加延展的方式适配夜间模式 这样你会拿不到系统颜色 这就尴尬了
综上所述 改变了背景色,再把黑色文字颜色适配你的夜间模式基本上就能看了
简单粗暴就是查找 批量替换
这也是见效最快的适配方式
其他一些颜色就是慢工出细活 属于逐渐完善的
毕竟你这个颜色还得跟美工UI产品掰扯掰扯
希望可以带来帮助
如果你有更好的适配方式也欢迎评论区