问题描述
使用new iOS 13 view controller changes,显示的视图控制器无法覆盖整个屏幕。相反,它们在顶部留有黑色空间。但是,系统状态栏不会自动更改颜色。当我介绍一个模态视图控制器时,状态栏将停留在现在不可见的黑色文本(和绿色电池,在任何地方的中间看起来都很奇怪)。
如何使条形与Apple应用程序中的条形相同,当出现模态弹出框时条会以不同的颜色显示动画?
我尝试在模态控制器上将modalPresentationCapturesStatusBarAppearance
设置为true,但是没有运气。
我的呈现视图控制器中的栏是UINavigationBar,并且不属于导航控制器。当前的VC是其委托人,我已经重写position(for bar: UIBarPositioning)
以返回.topAttached。
我尝试用.modalPresentationStyle = .formSheet
呈现模态,而根本不设置.modalPresentationStyle。都不起作用。
损坏:
当前的VC:
预期行为:
解决方法
两件事:
模态视图控制器需要具有VC.modalPresentationCapturesStatusBarAppearance = false
。这是默认设置,但是如果像我一样将其设置为其他设置,请确保它是错误的!
您需要确保将info.plist中的View controller-based status bar appearance
设置为YES
。我把它弄乱了,试图将状态栏设置为正确的颜色,但是将其设置为NO
是一个问题。