如何确保 iOS 13 个模态视图控制器呈现正确的状态栏颜色?
How can I ensure iOS 13 modal view controllers present the right status bar colour?
对于 new iOS 13 view controller changes,显示的视图控制器不会覆盖整个屏幕。他们反而在顶部留下黑色 space。但是,系统状态栏不会自动更改颜色。当我展示模态视图控制器时,状态栏停留在 now-invisible 黑色文本(和一个绿色电池,在茫茫荒野中看起来超级奇怪)。
如何使栏的行为方式与 Apple 应用程序中的行为相同,即当模式弹出窗口出现时栏会以不同的颜色动画显示?
我尝试在我的模态控制器上将 modalPresentationCapturesStatusBarAppearance
设置为 true,但没有成功。
我呈现的视图控制器中的栏是一个 UINavigationBar,它不是导航控制器的一部分。呈现 VC 是它的代表,我已经将 position(for bar: UIBarPositioning)
覆盖为 return .topAttached.
我试过使用 .modalPresentationStyle = .formSheet
显示模态,但根本没有设置 .modalPresentationStyle。都没有用。
损坏:
主持人VC:
预期行为:
两件事:
模态视图控制器需要 VC.modalPresentationCapturesStatusBarAppearance = false
。这是默认值,但如果像我一样将其设置为其他值,请确保它是 false!
您需要确保 info.plist 中的 View controller-based status bar appearance
设置为 YES
。我曾试图使我的状态栏具有正确的颜色,但将其设置为 NO
是一个问题。
对于 new iOS 13 view controller changes,显示的视图控制器不会覆盖整个屏幕。他们反而在顶部留下黑色 space。但是,系统状态栏不会自动更改颜色。当我展示模态视图控制器时,状态栏停留在 now-invisible 黑色文本(和一个绿色电池,在茫茫荒野中看起来超级奇怪)。
如何使栏的行为方式与 Apple 应用程序中的行为相同,即当模式弹出窗口出现时栏会以不同的颜色动画显示?
我尝试在我的模态控制器上将 modalPresentationCapturesStatusBarAppearance
设置为 true,但没有成功。
我呈现的视图控制器中的栏是一个 UINavigationBar,它不是导航控制器的一部分。呈现 VC 是它的代表,我已经将 position(for bar: UIBarPositioning)
覆盖为 return .topAttached.
我试过使用 .modalPresentationStyle = .formSheet
显示模态,但根本没有设置 .modalPresentationStyle。都没有用。
损坏:
主持人VC:
预期行为:
两件事:
模态视图控制器需要 VC.modalPresentationCapturesStatusBarAppearance = false
。这是默认值,但如果像我一样将其设置为其他值,请确保它是 false!
您需要确保 info.plist 中的 View controller-based status bar appearance
设置为 YES
。我曾试图使我的状态栏具有正确的颜色,但将其设置为 NO
是一个问题。