[UIApplication sharedApplication].statusBarFrame.size.height
. Mas como todos os tamanhos estão em pontos, não em pixels, a altura da barra de status sempre é igual a 20.
Atualizar. Vendo esta resposta sendo considerada útil, devo elaborar.
A altura da barra de status é, de fato, igual a 20.0f pontos, exceto nos seguintes casos:
- barra de status foi ocultada com o
setStatusBarHidden:withAnimation:
método e sua altura é igual a 0,0f pontos;
- como o @Anton apontou aqui, durante uma chamada recebida fora do aplicativo Phone ou durante a altura da barra de status da sessão de gravação de som é igual a 40,0f pontos.
Há também um caso de barra de status que afeta a altura da sua visualização. Normalmente, a altura da vista é igual à dimensão da tela para determinada orientação menos a altura da barra de status. No entanto, se você animar a barra de status (mostrar ou ocultar) após a exibição, a barra de status mudará seu quadro, mas a exibição não será exibida. , será necessário redimensionar manualmente a exibição após a animação da barra de status (ou durante a animação desde a altura da barra de status é definida como o valor final no início da animação).
Atualização 2. Há também um caso de orientação da interface do usuário. A barra de status não respeita o valor da orientação; portanto, o valor da altura da barra de status para o modo retrato é [UIApplication sharedApplication].statusBarFrame.size.height
(sim, a orientação padrão é sempre retrato, não importa o que o aplicativo info.plist diz), para paisagem - [UIApplication sharedApplication].statusBarFrame.size.width
. Para determinar a orientação atual da interface do usuário quando estiver fora UIViewController
e self.interfaceOrientation
não estiver disponível, use [UIApplication sharedApplication].statusBarOrientation
.
Atualização para iOS7. Embora o estilo visual da barra de status tenha mudado, ele ainda está lá, seu quadro ainda se comporta da mesma maneira. A única interessante encontrar cerca de barra de status Eu tenho - Eu share: o seu UINavigationBar
's azulejos de fundo também vai estar lado a lado para a barra de status, de modo que você pode conseguir alguns efeitos interessantes de design ou apenas colorir sua barra de status. Isso também não afetará a altura da barra de status de forma alguma.