como ocultar a barra de status quando a tela inicial aparece no iphone?


Respostas:


191

Tenho certeza de que, se o seu arquivo Info.plist tiver o Status bar is initially hiddenvalor definido como YES, ele não será exibido enquanto o aplicativo estiver carregando. Assim que seu aplicativo for carregado, você pode mostrar novamente a barra de status usando o setStatusBarHidden:animated:método UIApplication .


1
não existe essa opção em info.plist.há uma maneira de adicioná-lo manualmente
Rahul Vyas

3
@Rahul selecione a última linha no arquivo e clique no botão de adição na extremidade direita da linha. Em seguida, digite você mesmo.
Dave DeLong

2
O método mostra novamente a barra de status agora, setStatusBarHidden: withAnimation:
SargeATM

2
Se desejar adicioná-lo manualmente, você pode editar o plist em um editor de texto como o BBEdit e adicionar as linhas: <key> UIStatusBarHidden </key> <true /> logo acima da linha </dict>. Ou, no Xcode, clique com o botão direito no plist e escolha Abrir como ... Código-fonte e edite-o como texto.
JScarry

9
"Assim que seu aplicativo for carregado, você pode mostrar novamente a barra de status" Apenas para esclarecer se alguém está confuso, é seguro ativar [[UIApplication sharedApplication] setStatusBarHidden:NO];- aplicativo: didFinishLaunchingWithOptions:
Ryan Romanchuk

48

A chave correta em .plist é "UIStatusBarHidden" e marque o lado direito. Ela se tornará "A barra de status está inicialmente oculta" e depois automaticamente. Na minha prática, você pode controlar a exibição / ocultação da Barra de Status em qualquer lugar ao ocultar:

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

quando mostrar:

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

espero que isso tenha sido útil para você.


Para definir dinamicamente o tamanho do CGRectMake para qualquer tipo de 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

O UIApplication setStatusBarHidden:withAnimationestá esperando um typedef NSInteger UIStatusBarAnimationpara o segundo argumento, não um BOOL. Em vez de NO, useUIStatusBarAnimationNone
usuário

23

Exibir -> Tipo de lista de propriedades -> iPhone Info.plist. Agora, faça um novo item com a opção "Barra de status inicialmente oculta" marcada.


6

Seguindo a resposta de Dave, a chave "A barra de status está inicialmente oculta" não funcionou para mim no iOS 4.3, MAS a chave "UIStatusBarHidden" e, em seguida, definir seu tipo como Booleano e marcar a caixa resolveu.

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

Este artigo do desenvolvedor me levou às chaves Info.plist e, em seguida, descobrir a chave equivalente para ocultá-la não foi muito difícil.

Curiosamente, o "UIStatusBarStyle" precisa usar o nome da enumeração como uma string para funcionar.


6

Para o Xcode 5 e superior, você pode apenas definir:

Ver a aparência da barra de status baseada no controlador para NÃO

No seu info.plist ou na guia de informações do seu projeto principal.

Exemplo de configurações de informações no xcode


3

escreva esta linha em seu método principal .m viewDidload

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

ou selecione o arquivo info.plist da pasta de arquivos de suporte do seu projeto no espaço de trabalho

definir statusbarinitialyhidden para YES


2

está obsoleto

setStatusBarHidden:(BOOL) animated:(BOOL) 

é o correto

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation que pode ser:

UIStatusBarAnimationNone ou UIStatusBarAnimationFade ou UIStatusBarAnimationSlide


1

Isso funcionou para mim no info.plist:

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

1

Adicione Status bar is initially hiddena YESno info.plistarquivo. Isso funcionou para mim.

barra de status oculta


0

Para editores XML, adicione ao primeiro filho de

<key>UIStatusBarHidden</key>
<true/>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.