iOS13 暗黑模式(Dark Mode)适配 所踩的坑

DarkMode 主要从两个方面来适配,一是颜色,二是图片,简单的就不用多说,下面来说一下本人所踩的坑。

一、图片适配

图片适配很简单 如下图,准备两套图片(dark模式和any模式)如图箭头位置选择  Any,Dark  此时就完成了图片的适配。

图片适配

注意:来回切换深色和浅色模式   有时候你会发现某些图片明明是设置了any 和 dark 两种图片但是并没有切换过来,此时你需要重写下列函数(监听模式变化) 然后在此函数中调用你设置图片的代码

- (void)traitCollectionDidChange:(nullableUITraitCollection *)previousTraitCollection NS_AVAILABLE_IOS(8_0);


二、颜色适配

官方并没有给出一个友好的方法来适配xib和sb中设置的颜色,WWDC演示的时候是在Assets.xcassets中设置颜色来适配iOS13 暗黑模式(WWDC链接) 但是 在Assets.xcassets中设置颜色只能支持iOS11  iOS11以下并不能使用。那么如何来适配iOS13 同时又支持iOS13以下的版本呢?

1、代码适配

代码适配对于xib和sb的工程比较繁琐 ,网上比较多。

2、Assets.xcassets + 代码 适配

公司项目使用的是xib和sb如果使用代码来适配颜色比较繁琐,所以放弃纯代码适配。 经过查资料和实践,找到了一个相对来说比较简单的方法来适配,方法如下

注意:由于之前在项目中已经设置了颜色,所以我们并不用对原来的xib文件进行改变。只需适配iOS13即可。

设置两套颜色
代码设置Assets.xcassets中设置的颜色

在Assets.xcassets中设置两套颜色 如上图所示。然后在代码中调用如上图所示。此时iOS13暗色模式图片和颜色适配已经完成

如果有更好适配颜色的方法可以留言,谢谢!

参考文档

iOS13 暗黑模式(Dark Mode)适配之OC版

iOS13-适配夜间模式/深色外观(Dark Mode)

iOS 13 适配

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容