style info color change bar ios objective-c swift2 ios9 uistatusbar

info - ¿Cómo podemos configurar el estilo de contenido claro de la barra de estado en iOS 9 para toda la aplicación?



status bar white ios 11 (2)

Quiero aplicar estilo Light Content a toda la aplicación.

El siguiente método está en desuso en iOS 9 sin el método de reemplazo.

-setStatusBarStyle: animado:

Establece el estilo de la barra de estado, animando opcionalmente la transición al nuevo estilo.

Está trabajando en AppDelegate como:

Swift 1.2 Código:

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)

Pero cuando actualizo mi proyecto a iOS 9 / Swift 2, me están dando un mensaje de advertencia sobre:

<Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable. <Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable. <Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

Así que según la solución del foro de Apple y de esta respuesta CGContextSaveGState: contexto inválido Error 0x0 solo en el dispositivo

Por lo tanto, UIViewControllerBasedStatusBarAppearance la propiedad UIViewControllerBasedStatusBarAppearance del archivo info.plist según la solución.

Ahora la situación es la siguiente: ¿cómo podemos establecer el estilo de contenido claro de la barra de estado en iOS 9 para toda la aplicación?

Del foro:

No quiero configurar el contenido de luz para todas y cada una de las vistas.

¿Alguna sugerencia?

Objective-C debería tener el mismo problema.


Puede ahorrarse mucho trabajo utilizando un UINavigationController y configurando barStyle de su barra de barStyle en .Black . Sólo tienes que hacerlo una vez; puedes hacerlo en el editor de guiones gráficos.

Esto automáticamente convertirá el estilo de su barra de estado a .LightContent siempre que este UINavigationController esté en comando.


También puede usar: UIApplication.shared.statusBarStyle = .lightContent. También funciona en swift3.