隐藏一个视图控制器的状态栏,同时以白色显示rest



我有一个应用程序,我想只是第一个视图控制器的状态栏被隐藏(有点像一个介绍屏幕)。然而,随后的所有视图控制器都应该显示状态栏。我知道这是一个常见的问题,但我的问题是不同的,因为这个原因:

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

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

出于这个原因,我不能在我的视图控制器中使用prefersStatusBarHidden方法来单独隐藏状态栏。

是否有任何方法我可以只是隐藏状态栏在这一个视图控制器没有设置View controller-based status bar appearance YES在Info.plist?(因为这样做意味着我将不得不手动进入每个视图控制器并将状态栏颜色设置为白色,而不是像上面所示的那样在AppDelegate中执行所有操作)

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

UIApplication.sharedApplication().statusBarHidden = true

在它的viewWillDisappear函数中显示它:

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

最新更新