iOS 13 深色模式和启动屏幕 - iOS 10 的回退
iOS 13 DarkMode and LaunchScreen - Fallback for iOS 10
我在白底 launchscreen.storyboard 上有一个蓝色徽标。
对于 iOS 13 引入的新 DarkMode,我喜欢反转颜色,即蓝色背景和白色徽标。
正如我们所知,这可以使用资产目录中的命名颜色来完成,这些颜色会根据设备的特性而变化。
这在 iOS 11 及更高版本中工作得很好,但在尝试支持 iOS 10:
时显示此错误
Named colors do not work prior to iOS 11.0.
我尝试在代码中为启动屏幕场景创建一个视图控制器并使用 #ifavailable
子句设置颜色,但编译器说启动屏幕可能没有与之关联的自定义 class .
我也考虑过根据 iOS 版本使用不同的启动屏幕故事板,但我找不到任何关于如何使用的信息。
我能做些什么吗?
如何解决这个问题?
谢谢,
菲利克斯
按照建议,解决方案是使用动态图像代替背景:
- 为浅色和深色模式创建 2 张具有纯色的图像。
- 将它们导入您的资产目录并定义“任何”/“深色”外观。
- 使用此图像(“缩放以填充”,约束到容器)在启动屏幕的背景中添加
UIImageView
。
即使您的部署目标低于 iOS 11.0,这也会编译,并且会在启动时显示适当的颜色。
我在白底 launchscreen.storyboard 上有一个蓝色徽标。 对于 iOS 13 引入的新 DarkMode,我喜欢反转颜色,即蓝色背景和白色徽标。
正如我们所知,这可以使用资产目录中的命名颜色来完成,这些颜色会根据设备的特性而变化。 这在 iOS 11 及更高版本中工作得很好,但在尝试支持 iOS 10:
时显示此错误Named colors do not work prior to iOS 11.0.
我尝试在代码中为启动屏幕场景创建一个视图控制器并使用 #ifavailable
子句设置颜色,但编译器说启动屏幕可能没有与之关联的自定义 class .
我也考虑过根据 iOS 版本使用不同的启动屏幕故事板,但我找不到任何关于如何使用的信息。
我能做些什么吗? 如何解决这个问题?
谢谢, 菲利克斯
按照建议
- 为浅色和深色模式创建 2 张具有纯色的图像。
- 将它们导入您的资产目录并定义“任何”/“深色”外观。
- 使用此图像(“缩放以填充”,约束到容器)在启动屏幕的背景中添加
UIImageView
。
即使您的部署目标低于 iOS 11.0,这也会编译,并且会在启动时显示适当的颜色。