iOS黑暗模式适配(入门版)

学而时习之,不亦乐乎,大家好,我是张杰。

目前市场上主流APP都适配了黑暗模式,但是有个很多文章都写的太深奥或者太笼统,概念性太强,对于我们开发者来说最简单最直白的就是如何下手开始写代码。下面我们来简单讲讲,不一定全对,但是是我自己的一些总结,仅供参考。

一、颜色 (背景颜色,文字颜色)

iOS13 之前 UIColor只能表示一种颜色,而从 iOS13 开始UIColor是一个动态的颜色,在Light Mode和Dark Mode可以分别设置不同的颜色。

比如背景色,你设置systemBackgroundColor 然后在手机上切换正常模式和黑暗模式对比下,在正常模式下是白色,黑暗模式下是黑色

  [self.view setBackgroundColor:[UIColor systemBackgroundColor]];

其他可以看下iOS的颜色属性,自己多研究,比如文字颜色 [UIColor labelColor]]

建议新建工程尝试,这样代码带来的视觉效果会让你觉得不太枯燥。

二、图片(切图)

做之前呢,让UI给你两图颜色不一样的切图,然后放一套到Assets.xcassets 在下图Appear那一栏选择Any,Dark,就会出现两栏图片框,把黑暗模式的拿一套丢进去即可,运行代码,切换模式,就可以看到效果。


WeChataf0fa34929f0fcf492c92d20d98d4852.png

三、获取当前模式(Light or Dark)

在某个页面你需要进行适配的时候你需要知道当前是什么模式.比如要设置lable不一样的文字

if (UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
     NSLog(@"DarkMode");
    [self.titleLabel setText:@"DarkMode"];
} else {
     NSLog(@"LightMode");
    [self.titleLabel setText:@"LightMode"];
}

暂时写这么多,后期再更。如果有错误或者还有其他问题,可以联系我:[email protected],谢谢

你可能感兴趣的:(iOS黑暗模式适配(入门版))