【问题标题】:iOS 13 new presentation style turns status bar to light contentiOS 13 新的演示样式将状态栏变为轻量级内容
【发布时间】:2019-11-06 17:34:52
【问题描述】:

我的应用中没有关于状态栏样式的任何特定设置。但是,自从我开始使用 iOS 13 SDK 构建我的应用程序以来,新的“卡片样式”演示模式即使在背景不暗的情况下也会将状态栏更改为浅色内容,最后,状态栏中的内容几乎不可见。


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


然而,在呈现另一个视图控制器后,状态栏变成这样的浅色内容:


有没有办法避免这种情况而不在这里和那里调整状态栏参数?

【问题讨论】:

  • FWIW 我刚刚使用 iOS 13 中的邮件客户端检查了这一点。当我开始回复现有电子邮件时,我看到了与第二张图片中显示的相同的效果。基于此,您似乎需要反转邮件中看到的背景(从白色变为深色)。
  • @CodeBender 好点,作为一种解决方法,将主UIWindow 的背景颜色设置为.black 解决了丑陋问题,我认为这正是Apple希望在其他应用程序中看到的方式。感谢您的提示。
  • 太棒了。我继续将其总结为答案。

标签: ios swift ios13 uistatusbar


【解决方案1】:

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

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

工作表呈现样式显示为部分覆盖的卡片 底层内容并使所有未覆盖的区域变暗以防止 与他们互动。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 2020-02-05
    相关资源
    最近更新 更多