隐藏一个View Controller的状态栏,同时显示白色的休息

时间:2015-07-14 03:20:26

标签: ios hide viewcontroller statusbar

我有一个应用程序,我希望隐藏第一个视图控制器的状态栏(有点像介绍屏幕)。但是,后面的所有视图控制器都应显示状态栏。 我意识到这是一个常见的问题,但我的不同之处是:

我已经进入Info.plist并将View controller-based status bar appearance设置为NO,因为我希望应用程序其余部分的状态栏为白色。我使用App Delegate中的以下代码行完成了此操作:

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

出于这个原因,我无法在View Controller中使用prefersStatusBarHidden方法来单独隐藏状态栏。

我有没有办法在Info.plist中将View controller-based status bar appearance设置为YES而隐藏这一个View Controller中的状态栏? (因为这样做意味着我必须手动转到后面的每个View Controller,并将状态栏颜色设置为白色,而不是像AppDelegate那样执行所有操作,如上所示)

1 个答案:

答案 0 :(得分:0)

在第一个视图控制器的viewDidLoad或viewWillAppear函数中,隐藏状态栏:

UIApplication.sharedApplication().statusBarHidden = true

在它的viewWillDisappear函数中,显示它:

UIApplication.sharedApplication().setStatusBarHidden(true, animation: UIStatusBarAnimation.Fade)