欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

相关标签: Dark Mode