[UIApplication sharedApplication].statusBarFrame.size.height
. Ma poiché tutte le dimensioni sono in punti, non in pixel, l'altezza della barra di stato è sempre uguale a 20.
Aggiornare. Vedendo questa risposta considerata utile, dovrei elaborare.
L'altezza della barra di stato è, in effetti, uguale a 20.0f punti tranne i seguenti casi:
- la barra di stato è stata nascosta con il
setStatusBarHidden:withAnimation:
metodo e la sua altezza è pari a 0,0f punti;
- come indicato qui da @Anton, durante una chiamata in arrivo al di fuori dell'applicazione Telefono o durante la barra di stato della sessione di registrazione del suono l'altezza è pari a 40,0 f punti.
C'è anche un caso di barra di stato che influenza l'altezza della vista. Normalmente, l'altezza della vista è uguale alla dimensione dello schermo per l'orientamento dato meno l'altezza della barra di stato. Tuttavia, se animi la barra di stato (mostra o nascondi) dopo che la vista è stata mostrata, la barra di stato cambierà il suo riquadro, ma la vista no , dovrai ridimensionare manualmente la vista dopo l'animazione della barra di stato (o durante l'animazione dal l'altezza della barra di stato viene impostata sul valore finale all'inizio dell'animazione).
Aggiornamento 2. C'è anche un caso di orientamento dell'interfaccia utente. Barra di stato non rispetta il valore di orientamento, in tal modo valore di altezza barra di stato per il ritratto modalità è [UIApplication sharedApplication].statusBarFrame.size.height
(sì, l'orientamento di default è sempre ritratto, non importa quello che dice la tua applicazione info.plist), per il paesaggio - [UIApplication sharedApplication].statusBarFrame.size.width
. Per determinare l'orientamento corrente dell'interfaccia utente quando non è disponibile UIViewController
e self.interfaceOrientation
non è disponibile, utilizzare [UIApplication sharedApplication].statusBarOrientation
.
Aggiornamento per iOS7. Anche se lo stile visivo della barra di stato è cambiato, è ancora lì, la sua cornice si comporta sempre allo stesso modo. L'unica trovo interessante di barra di stato ho ottenuto - I Condividi: il vostro UINavigationBar
's piastrelle di fondo sarà inoltre affiancata a mosaico per la barra di stato, in modo da poter ottenere alcuni effetti interessanti di design o semplicemente colorare la vostra barra di stato. Anche questo non influirà in alcun modo sull'altezza della barra di stato.