2013-06-22 79 views
11

是否可以在狀態欄的一個場景中隱藏狀態欄?在故事板中的單個ViewController上隱藏狀態欄

例如:

我希望它隱藏在 「的ViewController A」,而是經由segue到 「的ViewController B」(例如,Navigation Controller)狀態欄會顯示移動時。

我收集你可以在整個應用程序禁用它,但你怎麼做只有一個ViewController


從下面的建議確實可行,但是切換到Navigation Controller當它似乎導致在錯誤的位置要繪製的導航欄。

nav bar bug

回答

29

如何

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

} 


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

這似乎使導航欄進入[車](http://i.imgur.com/ ZvroaJH.png) – BytesGuy

+0

它在哪裏去越野車?當你從沒有狀態欄的那個切換到那個? –

+1

如果你想要一些流暢的動畫,請使用'setStatusBarHidden:withAnimation:'。 –

0

我的解決辦法:在故事板,選擇場景,並設置狀態欄:無在屬性檢查器。

+1

這只是隱藏它的故事板,但顯示當我運行應用程序。 – zaheer

+0

@zaheer你使用的是哪個版本的iOS? – itslittlejohn

+0

Xcode版本是5.0,iOS 7.0 – zaheer

17

只要把代碼放在你的ViewController.m(在iOS7,Xcode中5)

- (BOOL) prefersStatusBarHidden { return YES; }