iOS Dark Mode快速适配
程序员文章站
2022-03-23 11:37:07
提起夜间/黑暗模式先说说优点1.护眼 没有强烈的白光刺激眼睛2.省电 对于oled屏幕黑色地方是不发光的本人看来这是最直接的表象 屏幕成像原理啥的咱也不懂废话不多说总结一下适配的经验1.背景色 普遍背景色为白色2.文字颜色 大部分文字主要显示的颜色是黑色我们找到这两点,基本你把这两颜色适配完了你的应用在夜间模式下是能看的,说不上完美,但是基本所有内容并无缺失。适配之前的写法self.view.backgroundColor = [UIColor whiteColor...
提起夜间/黑暗模式先说说优点
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产品掰扯掰扯
希望可以带来帮助
如果你有更好的适配方式也欢迎评论区
本文地址:https://blog.csdn.net/saw471/article/details/107366717
上一篇: STL 空间配置器(一)