【问题标题】:How to support dark mode in splash screens?如何在启动画面中支持暗模式?
【发布时间】:2019-07-16 07:32:06
【问题描述】:

我正在尝试在初始屏幕中支持暗模式,这意味着我在 LaunschScreen.storyboard 文件中使用了命名颜色,但出现了以下错误:

Named colors do not work prior to iOS 11.0.

很明显,问题在于命名颜色仅在较新版本的 iOS 中有效,但没有简单的解决方法。我试图创建一个自定义视图并在那里设置颜色,但我发现不允许在启动屏幕中使用自定义类。目前,我想到的唯一解决方案是创建两个单独的目标,一个用于 iOS 11+,一个用于较低版本,但这有点矫枉过正,我不喜欢这个想法。显然,Apple 没有关于如何在启动屏幕中支持暗模式的建议(或者至少我找不到任何东西)。有什么建议吗?

【问题讨论】:

  • 您是否在启动画面中使用代码?
  • @MartinR 是的,这很有帮助。但是如果我需要使用自定义颜色,最好知道采用哪种解决方案。

标签: swift uikit ios13 ios-darkmode


【解决方案1】:

使用systemBackgroundColor 作为主视图背景颜色。

您可以在 Storyboard GUI 中自动更改(无需代码),系统将在 iOS13 中设置正确的颜色,为之前的 iOS 版本设置白色。

PS:对于其他颜色,您可以使用System xxxx Color 作为标准。

【讨论】:

  • 我可以使用 systemBackgroundColor 但这不是我想要的。如果我想使用自定义颜色怎么办?
  • 不知道iOS11之前有没有可能
  • 如果你想做黑色或白色背景,这是我所需要的。
【解决方案2】:

正如你所说,命名颜色在 iOS 11 下将不起作用。

[alternative] 因此,您可以在启动屏幕中创建一个图像视图,并为该图像设置一个暗色外观,如下所示。 您可以在该图像中应用您的颜色。

【讨论】:

    猜你喜欢
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2020-02-29
    相关资源
    最近更新 更多