我的应用使用白色状态栏。当我从主屏幕启动应用程序(即应用程序全屏显示)时,这可以正常工作。
如果,当我的应用程序仍处于全屏状态时,我会滑过第二个应用程序(例如日历),状态栏仍为白色。如果我然后在我的应用程序和日历之间使用拆分视图,状态栏将保持白色。这一切都正常。
但是,如果第一个全屏应用程序是日历(或任何其他应用程序),我使用幻灯片浏览来查看我的应用程序,状态栏将变为黑色。如果我继续使用拆分视图,状态栏仍显示为黑色。最后,如果我将我的应用程序一直向左拖动以使其全屏显示,状态栏将正确变为白色。
总结一下:当全屏显示另一个应用并使用“幻灯片放映”或“拆分视图”查看我的应用时,状态栏会显示错误的颜色。
这是iOS 9的错误还是我错过了什么?我无法在文档中找到任何声明在幻灯片放映/拆分视图的其他地方声明状态栏颜色的内容。
谢谢!
答案 0 :(得分:2)
我通过创建一个继承自UISplitViewController的新类并将其指定为拆分视图控制器的类来解决此问题。在此类中,重写方法preferredStatusBarStyle,如下所示
override func preferredStatusBarStyle()-> UIStatusBarStyle {
return UIStatusBarStyle.LightContent
}
实际上并不理解为什么这样做有效,而改变故事板中的值并不起作用。
答案 1 :(得分:0)
Swift 3版本:
覆盖var preferredStatusBarStyle:UIStatusBarStyle { 返回.lightContent }