Скрытие строки состояния на одном ViewController в раскадровке

Возможно ли, чтобы строка состояния была скрыта только в одной сцене в раскадровке?

Например:

Я хочу, чтобы он был скрыт в "ViewController A", но при перемещении через segue в "ViewController B" (например, a Navigation Controller) будет отображаться строка состояния.

Похоже, вы можете отключить его во всем приложении, но как вы это делаете только для одного ViewController?


Предложение ниже работает, однако при переключении на Navigation Controller он, кажется, заставляет навигационную панель рисоваться в неправильном месте.

nav bar bug

Ответ 1

Как насчет

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

}


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

Ответ 2

Просто поместите код на свой ViewController.m(в iOS7, Xcode 5)

- (BOOL) prefersStatusBarHidden { return YES; }

Ответ 3

Мое решение: в раскадровке выберите свою сцену и установите строку состояния: Нет в инспекторе атрибутов.