¿Cómo ocultar la barra de estado cuando aparece la pantalla de bienvenida en el iPhone?

85

¿Hay alguna forma de ocultar la barra de estado cuando se muestra la pantalla de inicio en el iPhone y luego volver a mostrarla en la aplicación?

Rahul Vyas
fuente

Respuestas:

191

Estoy bastante seguro de que si su archivo Info.plist tiene el Status bar is initially hiddenvalor establecido en YES, entonces no se mostrará mientras se carga la aplicación. Una vez que su aplicación se haya cargado, puede volver a mostrar la barra de estado usando el setStatusBarHidden:animated:método de UIApplication .

Dave DeLong
fuente
1
no existe tal opción en info.plist. hay una manera de agregarlo manualmente
Rahul Vyas
3
@Rahul seleccione la última línea del archivo y luego haga clic en el botón más en el extremo derecho de la línea. Luego escríbalo usted mismo.
Dave DeLong
2
El método para volver a mostrar la barra de estado es ahora, setStatusBarHidden: withAnimation:
SargeATM
2
Si desea agregarlo manualmente, puede editar el plist en un editor de texto como BBEdit y agregar las líneas: <key> UIStatusBarHidden </key> <true /> justo encima de la línea </dict>. O en Xcode, haga clic con el botón derecho en el plist y elija Abrir como ... Código fuente y edítelo como texto.
JScarry
9
"Una vez que se haya cargado la aplicación, puede volver a mostrar la barra de estado" Solo para aclarar si alguien está confundido, es seguro configurarlo [[UIApplication sharedApplication] setStatusBarHidden:NO];: aplicación: didFinishLaunchingWithOptions:
Ryan Romanchuk
48

La clave correcta en .plist es "UIStatusBarHidden" y marque el lado derecho. Se convertirá en "La barra de estado está inicialmente oculta" y luego automáticamente. En mi práctica, puede controlar el mostrar / ocultar de la barra de estado en cualquier lugar cuando se oculta:

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

cuando se muestra:

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

Espero que esto te haya ayudado.

Max
fuente
Para configurar dinámicamente el tamaño de CGRectMake en cualquier 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
UIApplication setStatusBarHidden:withAnimationespera un typedef NSInteger UIStatusBarAnimationpara el segundo argumento, no un BOOL. En lugar de NO, useUIStatusBarAnimationNone
usuario
23

Ver -> Tipo de lista de propiedades -> iPhone Info.plist. Ahora, cree un nuevo elemento con "La barra de estado está inicialmente oculta" marcada.

Jonathan Sterling
fuente
6

Siguiendo la respuesta de Dave, la tecla "La barra de estado está inicialmente oculta" no funcionó para mí en iOS 4.3 PERO la tecla "UIStatusBarHidden" y luego establecer su tipo en Boolean y marcar la casilla funcionó.

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

Este artículo para desarrolladores me llevó a las claves Info.plist y luego encontrar la clave equivalente para ocultarlas no fue demasiado difícil.

Curiosamente, "UIStatusBarStyle" necesita usar el nombre de la enumeración como una cadena para que funcione.

Josh Peak
fuente
6

Para Xcode 5 y superior, puede configurar:

Ver la apariencia de la barra de estado basada en el controlador en NO

En su info.plist, o en la pestaña de información de su proyecto principal.

Ejemplo de configuración de información en xcode

Ian Jamieson
fuente
3

escriba esta 1 línea en su método principal .m viewDidload

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

o seleccione el archivo info.plist de la carpeta de archivos de soporte de su proyecto en el espacio de trabajo

establecer statusbarinitialyhidden en YES

Usman
fuente
2

es obsoleto

setStatusBarHidden:(BOOL) animated:(BOOL) 

es el correcto

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation que puede ser:

UIStatusBarAnimationNone or UIStatusBarAnimationFade o UIStatusBarAnimationSlide

Jonathan Lamim Antunes
fuente
1

Esto funcionó para mí en el info.plist:

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

Añadir Status bar is initially hiddena YESen el info.plistarchivo. Esto funcionó para mí.

barra de estado oculta

Vinoth Vino
fuente
0

Para editores XML ~ agregar al primer hijo de

<key>UIStatusBarHidden</key>
<true/>
Paul Brewczynski
fuente