将状态栏隐藏在Storyboard中的单个ViewController上

时间:2013-06-22 18:42:58

标签: ios objective-c storyboard uinavigationbar

是否可以在故​​事板中的一个场景中隐藏状态栏?

例如:

我希望它隐藏在“ViewController A”中,但是当通过segue移动到“ViewController B”(例如,Navigation Controller)时,将显示状态栏。

我知道你可以在整个应用中禁用它,但是你如何只为一个ViewController做到这一点?


下面的建议确实有效,但是当切换到Navigation Controller时,似乎会导致导航栏位于错误的位置。

nav bar bug

3 个答案:

答案 0 :(得分:30)

怎么样

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [[UIApplication sharedApplication] setStatusBarHidden:YES];

}


- (void)viewWillDisappear:(BOOL)animated{
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
    [super viewWillDisappear:animated];
}

答案 1 :(得分:17)

将代码放在ViewController.m上(在iOS7中,Xcode 5中)

- (BOOL) prefersStatusBarHidden { return YES; }

答案 2 :(得分:0)

我的解决方案:在故事板中,选择场景并在“属性”检查器中设置“状态栏:无”。