2008-12-30 7 views

risposta

29

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO] dovrebbe nascondere la barra di stato. E 'questo quello che vuoi?

edit: Si potrebbe anche aggiungere quanto segue a Info.plist:

API bar
<key>UIStatusBarHidden</key> 
<true /> 
+0

un paio di commenti: mi sembra di ricordare che è possibile impostare queste impostazioni in Info.plist? Inoltre, sono molto nuovo a Objective-C e ai framework per iPhone, quindi non sono sicuro di dove mettere la riga sopra, in applicationDidFinishLaunching? – Ryan

+0

Non completamente sicuro, ma immagino che applicationDidFinishLaunching sarebbe il posto giusto come qualsiasi. – dancavallaro

+4

Nel mio caso, l'utilizzo di setStatusBarHidden in applicationDidFinishLaunching consentiva comunque di mostrare la barra di stato per un secondo o due durante il caricamento. Aggiungendolo al file plist invece lo risolveva e non lo mostra affatto. –

3

Lo stato sono parte della classe UIApplication. Inizia lì.

1

Utilizzando Snow Leopard e XCode 3.2, è sufficiente modificare Apps Info.plist.

aggiungere 2 righe:

fare clic destro del mouse sul plist aperto e aggiungere una riga e selezionare "Barra di stato è inizialmente nascosto" dal menu a tendina. Seleziona la casella di controllo che fornisce nella colonna a destra.

Aggiungi un'altra riga e seleziona "Stato barra di stato" dall'elenco a discesa. Nella colonna a destra digitare UIStatusBarHidden

Questo funziona per me. Non ho ancora sperimentato con la modifica dello stato di visualizzazione della barra di stato in fase di esecuzione, ad esempio se la batteria si scarica.

E non sono del tutto sicuro che entrambi i valori siano necessari se si aggiunge il valore della seconda riga.

// :)

+0

Impostare lo stile della barra di stato su "nessuno" nell'elenco a discesa non lo nasconde ancora . Penso che possa essere fatto solo tramite codice. –

0

Dal momento che il vecchio modo è stato deprecato:

// Old, Deprecated 
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES]; 

Il modo in cui iOS 3.2 è

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

Le opzioni di animazione sono:

UIStatusBarAnimationNone // No animation is applied 
UIStatusBarAnimationFade // The status bar fades in and out 
UIStatusBarAnimationSlide // The status bar slides in or out 

E puoi ancora fare è il modo iOS 2.0+, senza animazione:

[[UIApplication sharedApplication] setStatusBarHidden:YES];