No se puede ocultar la barra de estado al iniciar

Estoy creando una aplicación iOS 9 con navigation de páginas horizontal y necesito mostrar la barra de estado en algunas páginas, y esconderla en otras. Quiero usar la animation de desvanecimiento de input / salida, así que tengo que configurar

View controller-based status bar appearance = NO

y actualice la barra de estado de la siguiente manera:

 [[UIApplication shanetworkingApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

Este procedimiento funciona perfectamente cuando navego entre páginas, pero no puedo deshacerme de la barra de estado en el lanzamiento.

He intentado configurar: la Status bar is initially hidden = YES

Agregando esto a la vista de NavigationControllers viewDidLoad:

 [[UIApplication shanetworkingApplication] setStatusBarHidden:YES]; self.statusBarHidden = YES; [self setNeedsStatusBarAppearanceUpdate]; 

Agregando esto a AppDelegates didFinishLaunchingWithOptions:

 application.statusBarHidden = YES; 

Agregando esto al ViewController de la página inicial:

 - (BOOL)prefersStatusBarHidden { return YES; } 

Verificando la opción "Ocultar barra de estado" en General-> Información de deployment

Y configurando "Barra de estado" en "Ninguno" en el elemento del guión gráfico vinculado

Pero la barra de estado sigue apareciendo en el lanzamiento. ¿Cómo puedo deshacerme de la barra de estado en el lanzamiento sin cambiar el valor de la View controller-based status bar appearance ?

Simplemente marque la barra de estado Ocultar en la configuration del proyecto como se muestra a continuación.

  1. Configuración del proyecto: para ocultar la barra de estado al iniciar la aplicación.

Ocultar barra de estado

  1. Agregue a continuación en viewController para lo que necesita esconderse.

- (BOOL)prefersStatusBarHidden { return YES; }

/ —— ACTUALIZACIÓN —– /

  1. Con la marca de la barra de estado de ocultar Sin barra de estado

  2. Sin marca de barra de estado ocultar Con barra de estado

/ —— Barra de estado animada —– /

En plist

 View controller-based status bar appearance = NO 

Luego, en el método viewWillAppear.

 [[UIApplication shanetworkingApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 
 changing plist file : set Status bar is initially hidden = YES add row: View controller-based status bar appearance = NO 

introduzca la descripción de la imagen aquí

Para lograr lo que está buscando, debe configurarlo en el file app.plist :

Status bar is initially hidden a YES

View controller-based status bar appearance a NO

Luego en cada controller de vista para mostrarlo

 [[UIApplication shanetworkingApplication] setStatusBarHidden:NO]; 

o para esconderlo :

 [[UIApplication shanetworkingApplication] setStatusBarHidden:YES]; 

Ir a los destinos-> General-> Información de deployment: debajo de esa opción, select la opción Ocultar barra de estado.

Resulta que lo que estaba haciendo era correcto, pero había una errante [[UIApplication shanetworkingApplication] setStatusBarHidden:NO]; enterrado en el código henetworkingado. Lo dije, pero pasé por alto esa línea …

(usa git grep StatusBar para encontrar líneas de código en un git repo que mutan la barra de estado)

Además, el único código necesario es:

View controller-based status bar appearance = NO (en plist)

 [[UIApplication shanetworkingApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

en cualquier lugar que la barra de estado necesite actualizar (generalmente en viewWillAppear )