iOS 13种新的呈现方式将状态栏变为浅色内容

iOS 13 new presentation style turns status bar to light content

我的应用程序中没有关于状态栏样式的任何特定设置。然而,自从我开始使用 iOS 13 SDK 构建我的应用程序后,新的 "card style" 演示模式将状态栏更改为亮内容,即使背景不是黑暗的,最后,我几乎看不到内容在状态栏中。


例如,这是一个视图控制器的状态栏,它使用 present(_:animated:completion:):

呈现另一个视图


然而,在呈现另一个视图控制器后,状态栏变成亮内容,如下所示:


有没有办法在不调整状态栏参数的情况下避免这种情况?

看看 Human Interface Guidelines as they relate to Modality,他们提供了与您的第二个屏幕截图一致的下图:

以下评论是 Apple 关于如何处理这种情况的说明,强调是我的:

The sheet presentation style appears as a card that partially covers the underlying content and dims all uncovered areas to prevent interaction with them.

正如您在评论中指出的那样,您的解决方案是分配不同的背景颜色,使其形成正确的对比。请注意,确保您的颜色选择适用于浅色和深色模式。