La barra de estado no desaparecerá

Estoy creando una aplicación y quiero que la barra de estado esté oculta. Cuando pruebo la aplicación, la barra de estado se oculta mientras se muestra la pantalla de bienvenida, pero una vez que la aplicación está completamente cargada, la barra de estado vuelve a aparecer.

Estoy usando Xcode 5 e iOS 7, y he intentado desactivar la barra de estado programáticamente

([[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];), 

en el archivo info.plist y utilizando el inspector de atributos en el archivo .xib. Nada parece funcionar.

¿Algunas ideas?

Intente agregar el siguiente método al controlador de vista raíz de su aplicación:

 - (BOOL)prefersStatusBarHidden { return YES; } 

Debe agregar este valor a plist: ” Ver apariencia de la barra de estado basada en el controlador ” y configurarlo a ” NO “.

Esto le permitirá configurar la barra de estado en modo oculto . Esto lo establece a nivel mundial a diferencia de otras respuestas proporcionadas.

ACTUALIZACIÓN: si desea que la barra de estado esté oculta en la pantalla de inicio , no olvide marcar ” Ocultar durante el inicio de la aplicación ” en las opciones de la barra de estado de destino. Además, puede agregar ” Barra de estado inicialmente oculta ” a ” ” en la lista si no desea hacerlo con el código dentro de la aplicación.

El código que publicó funciona para iOS 6.1 y versiones posteriores. Para iOS 7, Apple ha puesto a disposición nuevos métodos para controlar directamente la barra de estado de cada vista. Desactivar esta opción en su Info.plist le permitirá ocultar la barra de estado, al menos para la Vista previa del desarrollador actual (4).

Agregue esto y configúrelo a NO

Como referencia, eche un vistazo a la guía de transición de iOS 7 que está disponible en el portal para desarrolladores de Apple.

bueno, trato de ocultar la barra de estado en toda mi aplicación y en la “aplicación” -info.plist y agrego dos filas en el diccionario “Lista de propiedades de información” Agrego “Ver apariencia de barra de estado basada en controlador” establezca NO y en ” La barra de estado se oculta inicialmente “establecer SÍ y para mí funciona n_n ‘

información plist

Sin embargo, si usa UIImagePicker, la barra de estado aparece nuevamente.

En ese caso, debe ocultar la barra de estado como a continuación,

 - (void)imagePickerController:(UIImagePickerController *)aPicker didFinishPickingMediaWithInfo:(NSDictionary *)info { // for iOS7 if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { [[UIApplication sharedApplication] setStatusBarHidden:YES]; } 

Después de una larga búsqueda, finalmente encontré una solución muy simple que también soluciona el problema UIImagePickerController .

Como se mencionó en las otras respuestas, establezca su barra de estado oculta en su AppDelegate didFinishLaunching, y configure “Ver la apariencia de la barra de estado basada en el controlador” en NO.

Luego, en su AppDelegate:

 - (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame { [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } 

et voila: su barra de estado permanecerá oculta incluso cuando el UIImagePickerController sea el primero.

Esto es mejor que ‘volverlo a intentar’ cada vez que presente un UIImagePickerController, ya que permanece oculto en toda la aplicación.

Para ocultar la barra de estado en un UIViewController en particular, simplemente agregue esto:

 -(BOOL)prefersStatusBarHidden { return YES; } 

Espero que esto ayude !

Puede esconderse del resumen del proyecto. hay una checkbox oculta durante el lanzamiento.

Ver la instantánea

enter image description here

Encontré esta solución para mí. Funciona a las mil maravillas. Escriba este código en su viewcontroller en el que quería usar UIImagePickerController.

 - (void)viewWillDisappear:(BOOL)animated { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } - (void)viewWillAppear:(BOOL)animated { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } 

Además de la respuesta de alones anterior, asegúrese de implementar el método imagePickerControllerDidCancel y agregue el mismo código allí también.

Solución Swift

solo agregue esto a sus controladores de vista:

 override func prefersStatusBarHidden() -> Bool { return true } 

También estaba teniendo problemas con UIImagePicker. Al igual que la respuesta de Alones, mi solución fue la siguiente. Agregué esta línea o código:

 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 

a esta función:

 - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

No he probado esto con iOS 6 o anterior, pero funciona muy bien en iOS 7.

Estoy usando Xcode 6, esta solución funciona en iOS 7 y 8 para mí:

Primero, configure “Ver apariencia de la barra de estado basada en el controlador” en NO en el archivo plist.

En segundo lugar, en AppDelegate, agregue esto:

 - (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame { [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } 

Mi problema fue que utilicé la contención del controlador de vista. Solo el controlador de vista superior, que está integrado en un controlador de navegación, por ejemplo, puede ocultar o mostrar la barra de estado.