【问题标题】:How can I ensure iOS 13 modal view controllers present the right status bar colour?如何确保 iOS 13 模态视图控制器呈现正确的状态栏颜色?
【发布时间】:2020-12-31 23:33:40
【问题描述】:

使用new iOS 13 view controller changes,可以呈现不覆盖整个屏幕的视图控制器。相反,他们在顶部留下了一个黑色空间。但是,系统状态栏不会自动改变颜色。当我展示一个模态视图控制器时,状态栏会显示现在不可见的黑色文本(以及一个在不知名的地方看起来超级奇怪的绿色电池)。

如何使该栏的行为方式与 Apple 应用程序中相同,当出现模式弹出窗口时,该栏会以不同的颜色进行动画处理?

我尝试在我的模态控制器上将 modalPresentationCapturesStatusBarAppearance 设置为 true,但没有成功。

我的呈现视图控制器中的栏是 UINavigationBar,不是导航控制器的一部分。呈现的 VC 是它的代表,我已经覆盖 position(for bar: UIBarPositioning) 以返回 .topAttached。

我已经尝试使用.modalPresentationStyle = .formSheet 呈现模态并且根本没有设置 .modalPresentationStyle。都没有用。

破碎:

出席的VC:

预期行为:

【问题讨论】:

    标签: ios uiviewcontroller ios13 modalviewcontroller uistatusbar


    【解决方案1】:

    两件事:

    模态视图控制器需要有VC.modalPresentationCapturesStatusBarAppearance = false。这是默认值,但如果像我一样将其设置为其他值,请确保它是错误的!

    您需要确保 info.plist 中的 View controller-based status bar appearance 设置为 YES。为了让我的状态栏颜色正确,我搞砸了它,但将其设置为 NO 是个问题。

    【讨论】:

      猜你喜欢
      • 2014-01-04
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 2016-02-03
      • 2015-03-10
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      相关资源
      最近更新 更多