2011-12-23 10 views
6

Alcuni utenti hanno segnalato che iOS 5 a volte mostra la barra di stato.Come impedire a iOS 5 di mostrare la barra di stato anche se UIStatusBarHidden è YES?

Nel mio Info.plist il tasto UIStatusBarHidden è SÌ, e non ho mai scherzato con la barra di stato nel codice.

Cosa posso fare per risolverlo?

+0

Ho appena iniziato lo sviluppo di un nuovo progetto con SDK 5.0, (Target 4,0) e hanno lo stesso problema. Ho impostato UIStatusBarHidden = YES in plist OR chiamata [[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone]; e comunque la barra di stato appare su ogni schermata successiva. Notificatemi per favore se trovate una soluzione funzionante. –

+0

vedi la mia risposta qui sotto. Sono riuscito a sistemarlo. –

risposta

6

la voce nella Info.plist dovrebbe essere sufficiente per nasconderlo, ma si può provare a farlo a livello di codice con:

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

quando la vostra applicazione si avvia.

+4

setStatusBarHidden: animato: (Obsoleto in iOS 3.2. Usa setStatusBarHidden: withAnimation: invece.) –

+0

@KostiantynSokolinskyi usa setStatusBarHidden: YES invece – Dmitry

1

Si sta utilizzando framework di terze parti che mostrano la barra di stato?

+0

Niente affatto. Solo il mio codice. – dontWatchMyProfile

6

Credo che il metodo di cui sopra è deprecato in iOS5, vorrei utilizzare questa invece:

[[UIApplication sharedApplication]setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; 
2

trovato la soluzione!

ho impostare la proprietà nel plist, ma stavo ancora ricevendo barra di stato visibile dopo spingendo un controller della vista nella navigazione pila o l'apertura UIImagePickerController: (io uso Xcode 4.2 (SDK 5.0) e iOS 5.0.1).

Qui è (mettere il codice in ogni controller View non è necessario barra di stato per essere visibile):

Set self.wantsFullScreenLayout = YES; in

- (id)initWithNibName: (NSString*)nibNameOrNil bundle: (NSBundle*)nibBundleOrNil 

chiamata

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

in

- (void)viewWillAppear: (BOOL)animated 

allora funziona in caso di spingere controllori attraverso la pila di navigazione così come usando UIImagePickerController (sia foto scattata o annullato).

Spero che questo aiuti.

2

xcode 4.5 si dà la possibilità di controllo per nascondere la barra di stato sulla pagina di riepilogo

  1. Vai a Target di progetto.
  2. Aprire sumaary e quindi controllare il Nascondi StatusBar opzione ..
Problemi correlati