2012-08-08 1 views
21

C'è un modo per nascondere la barra di stato quando viene visualizzata l'immagine di avvio dell'app e quindi richiamarla? La mia app ha una barra di stato nera e quella visualizzata sopra l'immagine di avvio è grigia.Nascondi barra di stato all'immagine di avvio

C'è qualche soluzione per questo?

risposta

44

Usa questo codice per nascondere la barra di stato:

ObjectiveC:

[[UIApplication sharedApplication] setStatusBarHidden:YES 
withAnimation:UIStatusBarAnimationSlide]; 

Swift:

UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .Slide) 

Se non hai bisogno di barra di stato in principio. Aggiungere questa impostazione (UIStatusBarHidden) nel file Info plist:

Status bar is initially hidden 

con un valore di YES.

Usa questo codice qualsiasi schermata dell'app per mostrare la barra di stato per quel particolare View Controller

ObjectiveC:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide]; 

Swift:

UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: .Slide) 
+0

Un'altra cosa da notare è la proprietà 'wantsFullScreen' di UIViewController. – Moshe

+1

Dov'è il posto migliore dove inserire il codice 'UIApplication' che hai incollato? – syntagma

+0

L'ho inserito è stato avviato e ho tutti i controller di visualizzazione che estendono un controller di base. Ho un login nello storyboard e uno storyboard principale. Il mio controller di base rileva il tipo di storyboard e, se il tipo di accesso, effettua questa chiamata in vista, carica. Metti questa chiamata nella tua appdelegate: didlaunch e anche nel tuo viewdidload del tuo controller di base (o guarda controller se vuoi scrivere molto) –

12

Basta definire una chiave in un file plist risolverà il vostro problema

enter image description here

Felice Coding :)

+2

Sfortunatamente questo rende la mia app completa a schermo intero. Mentre voglio solo l'immagine di lancio per essere a schermo intero. Ho provato a mettere setStatusBarHidden: NO in viewDidLoad ma la barra di stato si sovrappone alla vista :( –

+0

Grazie, è risolto il mio problema :) :) –

+0

Grazie ...! È tutto!!! : P davvero facile! –

2

Aggiungere sotto chiave a info.plist:

"La barra di stato è inizialmente nascosta" e seleziona SÌ come valore.

+0

No, voglio tirarlo su, non nasconderlo per sempre. Come lo faccio? –

+0

@SergiusGee Vedi la mia risposta sopra, per favore. –

14

Puoi inizialmente aggiungere questa chiave nel file Info.plist: status bar is initially hidden=YES

Poi nel delegato app, aggiungere questa riga nel metodo application:didFinishLaunchingWithOptions::

[[UIApplication sharedApplication] setStatusBarHidden:NO]; 
+2

non funziona. La barra di stato si sovrappone alla vista. –

4

Per tornare indietro:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    // Override point for customization after app launch 

    [[UIApplication sharedApplication] setStatusBarHidden:NO]; 
}