Pregunta Cómo cambiar el color del texto de la barra de estado en iOS


Mi aplicación tiene un fondo oscuro, pero en iOS 7 la barra de estado se volvió transparente. Así que no puedo ver nada allí, solo el indicador de batería verde en la esquina. ¿Cómo puedo cambiar el color del texto de la barra de estado a blanco como en la pantalla de inicio?


926
2017-07-16 14:11


origen


Respuestas:


  1. Selecciona el UIViewControllerBasedStatusBarAppearance a YES en el archivo .plist.

  2. En el viewDidLoad haz una [self setNeedsStatusBarAppearanceUpdate]; 

  3. Agregue el siguiente método:

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    

Nota: Esto no funciona para controladores dentro UINavigationController, por favor mira El comentario de Tyson a continuación :)

Swift 3 - Esto funcionará controladores dentro UINavigationController. Agrega este código dentro de tu controlador.

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

1310
2017-07-21 03:36



Alternativamente, puede optar por salir de la apariencia de la barra de estado basada en el controlador de vista:

  1. Conjunto View controller-based status bar appearance a NO en tus Info.plist.
  2. Llamada [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Nota: Este método ha quedado obsoleto en iOS9. Utilizar preferredStatusBarStyle en el UIViewController en su lugar. (ver Biblioteca del desarrollador de Apple)


841
2017-08-12 10:35



¡Puedes hacer esto sin escribir ninguna línea de código!
Haga lo siguiente para que el color del texto de la barra de estado sea blanco a través de toda la aplicación

En ti proyecto plist archivo:

  • Estilo de barra de estado: Transparent black style (alpha of 0.5)
  • Ver la apariencia de la barra de estado basada en el controlador: NO
  • La barra de estado está inicialmente oculta: NO

432
2017-09-11 04:47



Nota: la mayoría de las respuestas con votos arriba no funcionan para iOS 7/8 

En Info.plist establece 'Ver aspecto de la barra de estado basado en el controlador' como NO

En AppDelegate agregar

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

a

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
}    

Esta solución funciona para iOS 7/8


241
2017-09-23 05:11



Para mí, no pasó nada con el uso de todas las cosas en las otras respuestas (y de otras fuentes / documentación). Lo que sí ayudó fue establecer el estilo de la barra de navegación en "Negro" en el XIB. Esto cambió el texto a blanco sin ningún código.

Enter image description here


107
2017-09-12 16:42



Nada de eso funcionó para mí, así que aquí hay una solución de trabajo ...

En Info.plist, agrega una fila:

UIViewControllerBasedStatusBarAppearancey establecer el valor NO.

Luego, en AppDelegate en didFinishLaunchingWithOptions, agrega estas filas:

[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];

95
2017-12-29 11:28



No necesitas hacer ningún código para esto

Debe agregar la clave "Ver la apariencia de la barra de estado basada en el controlador" en info.plist de la siguiente manera: enter image description here

y establecer su tipo de valor en Boolean & value en NO. A continuación, haga clic en configuración del proyecto, luego haga clic en la pestaña General y en Información de implementación configure el estilo de la barra de estado preferido en. Encienda de la siguiente manera:

enter image description here

Eso es.


53
2018-02-09 09:00



Solo dos pasos como los siguientes:

Paso 1:

En la pestaña Información del project target, Añadir fila:

UIViewControllerBasedStatusBarAppearance, valor ajustado NO.

Paso 2:

En el proyecto AppDelegate.m:

- (BOOL)application:(UIApplication *)application 
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    …
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    …
}

48
2017-12-21 13:55



Esto funciona en Golden Master iOS 7 y Xcode 5 GM seed y iOS7 SDK lanzado el 18 de septiembre de 2013 (al menos con el controlador de navegación oculto):

  1. Conjunto the UIViewControllerBasedStatusBarAppearance a NO en el Info.plist.

  2. En ViewDidLoad método o en cualquier lugar, ¿dónde quieres cambiar estilo de barra de estado: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];


42
2017-09-13 08:28