iOS 13 DarkMode和LaunchScreen-适用于iOS 10的后备

Kli*_*One 5 storyboard ios swift

我在白色背景上的launchscreen.storyboard上有一个蓝色徽标。对于iOS 13引入的新DarkMode,我想反转颜色,即蓝色背景和白色徽标。

众所周知,可以使用资产目录中的命名颜色来完成此操作,颜色会根据设备的特性而变化。在iOS 11及更高版本中,此方法完全可以正常工作,但在尝试支持iOS 10时显示此错误:

Named colors do not work prior to iOS 11.0.
Run Code Online (Sandbox Code Playgroud)

我尝试用代码为启动屏幕场景制作一个视图控制器,并使用该#ifavailable子句在其中设置颜色,但是编译器说启动屏幕可能没有与之关联的自定义类。

我还考虑过根据iOS版本使用不同的启动屏幕情节提要,但找不到任何有关方法。

我能做些什么?如何解决这个问题呢?

谢谢菲利克斯

Vin*_*ine 6

作为建议在这里,解决的办法是使用动态图像为背景,而不是:

  1. 为浅色和深色模式创建2张具有纯色的图像。
  2. 将它们导入您的资产目录并定义“任何” /“黑暗”外观。
  3. UIImageView在启动屏幕的背景中添加带有此图片的图片(“缩放至填充”,限于容器)。

即使您的部署目标低于iOS 11.0,它也会编译,并在启动时显示适当的颜色。

资产目录中的图像

启动画面