iOS 13 中的深色模式启动屏幕

Dark mode launch screen in iOS 13

我已经更新了我的 iOS 应用程序以在 iOS 13 上以暗模式工作,但我在尝试让启动屏幕看起来不错时遇到了问题。

目前它是一个明亮的白色屏幕,带有应用程序徽标,在黑暗模式下看起来很糟糕。我尝试将启动屏幕的背景颜色设置为我制作的颜色资产,其中 "Any Appearance" 为白色,"Dark Appearance" 为黑色 - 但启动屏幕仍然始终显示为白色。

有什么方法可以让我的启动屏幕在黑暗模式下正常工作?

设置启动屏幕故事板时,将视图 "Background" 颜色设置为 "System Background Color"。这在亮模式下为白色,在暗模式下为黑色。无需使用您自己的颜色资源。

我在 Xcode 默认提供的颜色中缺少调色板中的颜色,所以我使用 Color.xcassets 创建了自己的颜色,其中我创建了具有外观 Any, Dark 的自定义颜色集并设置了我的颜色.

然后我可以像系统颜色一样在自动布局中使用它们,即使在 LaunchScreen

我在 iOS 13 中找到了一个支持早期 iOS 版本以及每种模式(深色和浅色)的自定义颜色的解决方案。

  1. 创建图像资产,将外观设置为任意、浅色、深色,并加载具有所需颜色的小型纯 png。在这种情况下,我使用橙色表示浅色,黑色表示深色。

  1. 转到您的 LanuchScreen.storyboard 并使用该图像资产添加图像视图。将图像放在图像徽标后面,将内容模式设置为纵横比填充,并将视图限制在所有方向的超级视图中。 (确保您的徽标在两种背景下看起来都不错,或者也设置其外观)

  2. 这是我不得不做的地方。出于某种原因,我无法使背面图像显示出来。在检查了 Launch Screen storyboard not displaying image 中的一些评论后,我将图像资产中的第一张图像添加到目标包中

颜色在旧版本 iOS 中是静态的,并且在 iOS 13.

中适用于深色和浅色模式。

是的,启动屏幕在深色模式下工作,首先检查 "xyz" 图片的背景颜色。如果可以的话。只需从设备或模拟器中删除您的应用程序,因为有时启动屏幕会被设备或模拟器缓存,您将无法在其上获得更新 UI。如果您将遇到同样的问题,请按照我的演示应用 github.com/Indolia/darkmode.git

我正在更新我的应用程序以支持 iOS 13 的新暗模式,我在我的 [=16= 中为视图的背景添加了“系统背景颜色” ]LanuchScreen.storyboard,没想到居然没用!

页面上的徽标图像根据 Light/Dark 模式正确更改,但不是背景!

我正要应用何塞的解决方案,但在此之前,我决定从我的设备完全删除该应用程序并重试。它奏效了!!