ios - pantalla - mi iphone no tiene color




Cómo cambiar el color del texto de la barra de estado en iOS (20)

  1. Ir a Project -> Target ,

  2. A continuación, establezca Status Bar Style a la Light . Hace que la barra de estado sea blanca desde la pantalla de inicio.

  3. A continuación, establezca la View controller-based status bar appearance igual a NO en la Info.plist .

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 aparece en la pantalla de inicio?


  1. Establezca UIViewControllerBasedStatusBarAppearance en YES en el archivo .plist.

  2. En viewDidLoad haga un [self setNeedsStatusBarAppearanceUpdate];

  3. Agregue el siguiente método:

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    

Nota : esto no funciona para los controladores dentro de UINavigationController , consulte el comentario de Tyson a continuación :)

Swift 3 : esto funcionará con los controladores dentro de UINavigationController . Agregue este código dentro de su controlador.

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

Creo que todas las respuestas realmente no señalan el problema porque todas ellas funcionan en escenarios específicos. Pero si necesita cubrir todos los casos, siga los siguientes puntos:

Dependiendo de dónde necesite el estilo de luz de la barra de estado, siempre debe tener en cuenta estos 3 puntos:

1) Si necesita la barra de estado en la pantalla de inicio o en otros lugares, donde no puede controlarla (no en los controladores de vista, sino en algunos elementos / momentos controlados por el sistema, como Pantalla de inicio) Vaya a la configuración de su proyecto

2) Si tiene un controlador dentro de un controlador de navegación, puede cambiarlo en el generador de interfaces de la siguiente manera:

a) Seleccione la barra de navegación de su controlador de navegación

b) Luego configure el estilo de la barra de navegación en "Negro", porque esto significa que tendrá un fondo "negro" -> oscuro debajo de la barra de estado, por lo que la barra de estado se pondrá en blanco

O hacerlo en código de la siguiente manera

navigationController?.navigationBar.barStyle = UIBarStyle.Black

3) Si solo tiene el controlador que necesita tener su propio estilo de barra de estado y no está incrustado en alguna estructura de contenedor como UINavigationController

Establezca el estilo de la barra de estado en el código del controlador:


Déjame darte una respuesta completa a tu pregunta. Cambiar el color del texto de la barra de estado es muy fácil, pero es un poco confuso en iOS 7, especialmente para los novatos.

Si está intentando cambiar el color de negro a blanco en Storyboard seleccionando el controlador de vista y yendo a Métricas simuladas en el lado derecho, no funcionará y no sé por qué. Debería funcionar cambiando así, pero de cualquier manera.

En segundo lugar, no encontrará la propiedad UIViewControllerBasedStatusBarAppearance en su plist, pero por defecto no está allí. Debe agregarlo usted mismo haciendo clic en el botón + y luego configurarlo en NO.

Color de texto de la barra de estado de iOS 7

Finalmente, debes ir a tu archivo AppDelegate.m y agregar lo siguiente en el método didFinishLaunchingWithOptions, agregar la siguiente línea:

     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Esto cambiará el color a blanco para todos tus controladores de vista. ¡Espero que esto ayude!


En AppDelegate.m, agregue lo siguiente.

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

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

} 

Y en el archivo Plist, configure 'Ver apariencia de barra de estado basada en controlador' en NO.



Esto se documenta en la Guía de transición de la interfaz de usuario de iOS 7 , a la que necesita un ID de desarrollador de Apple para acceder directamente. El extracto relevante:

Debido a que la barra de estado es transparente, la vista detrás se muestra a través. [...] Use una constante UIStatusBarStyle para especificar si el contenido de la barra de estado debe ser oscuro o claro:

UIStatusBarStyleDefault muestra contenido oscuro. [...]

UIStatusBarStyleLightContent muestra contenido ligero. Se usa cuando el contenido oscuro está detrás de la barra de estado.

También posiblemente de interés:

En iOS 7, puede controlar el estilo de la barra de estado desde un controlador vew individual y cambiarlo mientras se ejecuta la aplicación. Para participar en este comportamiento, agregue la clave Info.plist archivo Info.plist una aplicación y Info.plist el valor YES .

Definitivamente recomiendo echar un vistazo al documento, al cual, nuevamente, puede acceder con su ID de desarrollador de Apple.


Estoy usando Xcode 6 beta 5 en un proyecto Swift , para una aplicación iOS 7.

Aquí está lo que hice, y funciona:

info.plist:


La clave para hacer que esto funcione es que solo el controlador de vista de pantalla completa puede dictar el estilo de la barra de estado.

Si está utilizando un controlador de navegación y desea controlar la barra de estado por cada controlador de vista, querrá crear una subclase de UINavigationController e implementar preferredStatusBarStyle para que devuelva la preferencia de topViewController.

Asegúrese de cambiar la referencia de clase en la escena de su guión gráfico de UINavigationController a su subclase (por ejemplo, MyNavigationController en el siguiente ejemplo).

(Lo siguiente funciona para mí. Si su aplicación está basada en TabBar, querrá hacer algo similar subclasificando el UITabBarController pero no lo he probado).

@interface MyNavigationController : UINavigationController

@end

@implementation MyNavigationController

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return self.topViewController.preferredStatusBarStyle;
}

@end

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

En Info.plist , agregue una fila:

UIViewControllerBasedStatusBarAppearance , y establezca el valor NO .

Luego, en AppDelegate en didFinishLaunchingWithOptions , agregue estas filas:

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

Para mí, no sucedió nada con el uso de todas las cosas en las otras respuestas (y de otras fuentes / documentación). Lo que 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 en absoluto.


Respuesta actualizada para for Xcode GM Seed:

  1. En Info.plist coloca el View controller-based status bar appearance Info.plist como NO

  2. En el proyecto, establecer:

  3. En ViewDidLoad:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];


Si desea el mismo resultado con Swift, puede usar este código en su archivo AppDelegate.swift:

UINavigationBar.appearance().barStyle = .BlackTranslucent

¡Y el texto de tu barra de estado será blanco :-)!


Si tiene un controlador de navegación integrado creado a través de Interface Builder , asegúrese de configurar lo siguiente en una clase que administre su controlador de navegación:

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    return UIStatusBarStyleLightContent; 
} 

Eso deberia ser todo lo que necesitas.


Solo dos pasos como los siguientes:

Paso 1:

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

UIViewControllerBasedStatusBarAppearance , establecer el valor NO .

Paso 2:

En el proyecto AppDelegate.m :

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

Solo para resumir, edite su proyecto Info.plist y agregue:

View controller-based status bar appearance : NO

Status bar style : Opaque black style

o si tienes clave / valor en bruto plist

UIViewControllerBasedStatusBarAppearance : NO

UIStatusBarStyle : Opaque black style


iOS 7 permite que los controladores de vista individuales determinen el aspecto de la barra de estado, como se describe en la documentación del desarrollador de Apple:

iOS 7 ofrece a los controladores de vista la capacidad de ajustar el estilo de la barra de estado mientras se ejecuta la aplicación. Una buena manera de cambiar dinámicamente el estilo de la barra de estado es implementar preferredStatusBarStyle y, dentro de un bloque de animación, actualizar la apariencia de la barra de estado y llamar a setNeedsStatusBarAppearanceUpdate .

Establecer la apariencia de la barra de estado globalmente es un proceso de dos pasos.

Primero, debe decirle a iOS que no desea establecer la apariencia de la barra de estado vista por vista.

Entonces debe hacerse cargo y configurar el nuevo estilo de barra de estado global.

Para deshabilitar el control de la barra de estado vista por vista, deberá configurar la propiedad de View controller-based status bar appearance en Info.plist .

Abra el Project Navigator y seleccione el proyecto para su aplicación iOS, luego seleccione la pestaña Información.

Pase el cursor sobre una fila y luego haga clic en el signo más que aparece para agregar una nueva propiedad a su lista.

Introduzca View controller-based status bar appearance de la View controller-based status bar appearance en el View controller-based status bar appearance en el campo Clave, luego asegúrese de que el campo Tipo esté configurado en Boolean . Finalmente, ingrese NO en el campo Valor.

Para establecer un estilo global para la barra de estado, agregue otra propiedad en la pestaña Información con una clave del Status bar style de Status bar style , un tipo de String y un Opaque black style .

Aquí hay una publicación en el blog con un poco más de detalles y algunos ejemplos de código:

http://codebleep.com/setting-the-status-bar-text-color-in-ios-7/


En Swift 3 es muy fácil solo con 2 pasos. Vaya a info.plist y cambie la View controller-based status bar appearance clave a "NO". Luego, en la Appdelegate, simplemente agregue esta línea en el método didfinish lunchingwithoptions

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        UIApplication.shared.statusBarStyle = .lightContent
        return true
    }

¡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 en toda la aplicación.

En el proyecto de archivo plist :

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

No necesitas hacer ningún código para esto.

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

& establece su tipo de valor en Boolean & valor en NO. Luego, haga clic en la configuración del proyecto, luego haga clic en la pestaña General y en Información de implementación, establezca el estilo de barra de estado preferido en .Light de la siguiente manera:

Eso es.





uistatusbar