¿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?

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 .


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.


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.


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.


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


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


2

es obsoleto

setStatusBarHidden:(BOOL) animated:(BOOL) 

es el correcto

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation que puede ser:

UIStatusBarAnimationNone or UIStatusBarAnimationFade o UIStatusBarAnimationSlide


1

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

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

1

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

barra de estado oculta


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.