La status bar è una barra presente sullo schermo dell’iPhone/iPad e rappresenta informazioni quali stato di carica della batteria, l’ora corrente e ricezione del segnale di rete. Sebbene speso è bene che questa barra sia visibile, a volte è necessario non visualizzarla, per fare questo sulle nostre applicazioni iOS ci sono due metodi:
- Impostare la proprietà di visibilità della status bar tramite il file info.plist
- Nascondere la status bar da codice dopo il caricamento dell’applicazione
Ovviamente in base alle nostre esigenze utilizzaremo il caso migliore. Vediamo il primo caso:
Utilizzare UIStatusBarHidden
Per nascondere sin dall’inizio del caricamento dell’applicazione lastatus bar è necessario impostare nel file info.plist una chiave del tipo: UIStatusBarHidden. XCode riconoscerà automaticamente questo valore sostituendolo con “Status bar is initially hidden” rendendolo un valore booleano che noi possiamo impostare a YES oppure a NO (di default è a NO). Inpostanto questo valore a YES la status bar non sarà mai visibile nemmeno durante il caricamento dell’applicazione.
Nascondere la Status Bar da codice
Se si vuole nascondere la status bar solo in casi particolari e non sempre, allora è possibile nasconderla attraverso il codice una volta caricata l’applicazione. Nell’esempio seguente si nasconde la Status Bar nel metodo didFinishLaunchingWithOptions che indica all’application delegate che il caricamento dell’applicazione è terminato, come pe:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
/*... codice di inizializazione dell'applicazione */
[application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
return YES;
}
In questo metodo abbiamo l’istanza della classe UIApplication come parametro. Se vogliamo nascondere la Status Bar da un altra parte del codice a seconda delle nostre esigenze allora dobbiamo ricavare l’istanza dell’oggetto UIApplication che rappresenta la nosta applicazione nel seguente modo:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
