2013-06-22 13 views
11

Czy pasek stanu może być ukryty w jednej scenie w Storyboard?Ukrywanie paska stanu na pojedynczym ViewController w Storyboard

Na przykład:

chcę ukryte w "ViewController A", ale przy przenoszeniu poprzez segue do "ViewController b" (np Navigation Controller) pasek stanu zostanie pokazany.

Gromadzę możesz wyłączyć w całej aplikacji, ale jak to zrobić dla tylko jednego ViewController?


Sugestia od dołu działa, jednak po przełączeniu na Navigation Controller wydaje się powodować bar nav być sporządzone w niewłaściwym miejscu.

nav bar bug

Odpowiedz

29

Jak o

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

} 


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

To wydaje się powodować navbar iść [buggy] (http://i.imgur.com/ ZvroaJH.png) – BytesGuy

+0

skąd się dzieje? Po przejściu z tego bez paska stanu do tego z? –

+1

Użyj 'setStatusBarHidden: withAnimation:' jeśli potrzebujesz płynnej animacji. –

0

Moje rozwiązanie: W serii ujęć, wybierz scenę i ustawić status bar: Brak w Inspektorze Atrybuty.

+1

Po prostu ukrywa się w storyboardie, ale pokazuje, kiedy uruchomię aplikację. – zaheer

+0

@zaheer Jakiej wersji systemu iOS używasz? – itslittlejohn

+0

Wersja Xcode to 5.0, iOS 7.0 – zaheer

17

Wystarczy umieścić kod na swojej ViewController.m (w iOS7, Xcode 5)

- (BOOL) prefersStatusBarHidden { return YES; }

Powiązane problemy