come nascondere la barra di stato quando appare la schermata iniziale in iphone?


85

C'è un modo per nascondere la barra di stato quando si mostra la schermata iniziale su iPhone e poi mostrarla di nuovo nell'applicazione?

Risposte:


191

Sono abbastanza sicuro che se il tuo file Info.plist ha il Status bar is initially hiddenvalore impostato su YES, non verrà visualizzato durante il caricamento dell'applicazione. Una volta caricata l'applicazione, puoi mostrare nuovamente la barra di stato utilizzando il setStatusBarHidden:animated:metodo di UIApplication .


1
non esiste tale opzione in info.plist. c'è un modo per aggiungerla manualmente
Rahul Vyas,

3
@Rahul seleziona l'ultima riga del file e fai clic sul pulsante più all'estremità destra della riga. Quindi digitalo tu stesso.
Dave DeLong,

2
Il metodo per mostrare nuovamente la barra di stato è ora setStatusBarHidden: withAnimation:
SargeATM

2
Se vuoi aggiungerlo manualmente, puoi modificare il plist in un editor di testo come BBEdit e aggiungere le righe: <key> UIStatusBarHidden </key> <true /> appena sopra la riga </dict>. Oppure in Xcode fai clic con il pulsante destro del mouse sul plist e scegli Apri come ... Codice sorgente e modificalo come testo.
JScarry

9
"Una volta che l'applicazione è stata caricata, puoi mostrare nuovamente la barra di stato" Solo per chiarire se qualcuno è confuso, è sicuro impostare [[UIApplication sharedApplication] setStatusBarHidden:NO];su - application: didFinishLaunchingWithOptions:
Ryan Romanchuk

48

La chiave corretta in .plist è "UIStatusBarHidden" e seleziona il lato destro. Diventerà "La barra di stato è inizialmente nascosta", quindi automaticamente. Nella mia pratica, puoi controllare lo spettacolo / nascondi della StatusBar ovunque quando nascondi:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.

quando mostra:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.

spero che questo ti sia stato utile.


Per impostare dinamicamente la dimensione del CGRectMake su qualsiasi tipo di iPhone: [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO]; float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width; float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20); [UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
reinaldoluckman

UIApplication setStatusBarHidden:withAnimationprevede un typedef NSInteger UIStatusBarAnimationper il secondo argomento, non un BOOL. Invece di NO, usaUIStatusBarAnimationNone
utente

23

Visualizza -> Tipo elenco proprietà -> Elenco info iPhone. Ora, crea un nuovo elemento con "la barra di stato inizialmente nascosta" selezionata.


6

Seguendo la risposta di Dave, il tasto "La barra di stato è inizialmente nascosta" non ha funzionato per me sotto iOS 4.3 MA il tasto "UIStatusBarHidden" e quindi impostare il suo tipo su Boolean e selezionare la casella ha funzionato.

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

Questo articolo per sviluppatori mi ha portato alle chiavi Info.plist e quindi a trovare la chiave equivalente per nasconderlo non è stato troppo difficile.

È interessante notare che "UIStatusBarStyle" deve utilizzare il nome dell'enumerazione come una stringa affinché funzioni.


6

Per Xcode 5 e versioni successive puoi semplicemente impostare:

Visualizza l'aspetto della barra di stato basata su controller su NO

Nella tua info.plist o nella scheda info del tuo progetto principale.

Esempio di impostazioni delle informazioni in xcode


3

scrivi questa 1 riga nel tuo metodo principale .m viewDidload

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

oppure seleziona il file info.plist dalla cartella dei file di supporto del progetto nell'area di lavoro

imposta statusbarinitialyhidden su YES


2

è deprecato

setStatusBarHidden:(BOOL) animated:(BOOL) 

è corretto

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation che può essere:

UIStatusBarAnimationNone o UIStatusBarAnimationFade o UIStatusBarAnimationSlide


1

Questo ha funzionato per me nel info.plist:

"View controller-based status bar appearance"  -> set to NO

1

Aggiungi Status bar is initially hiddena YESnel info.plistfile. Questo ha funzionato per me.

barra di stato nascosta


0

Per gli editor XML ~ aggiungi al primo figlio di

<key>UIStatusBarHidden</key>
<true/>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.