¿Cómo cambiar el color de la barra de estado usando ios con rapidez en la accesibilidad a Internet?

quiero cambiar el color de la barra de estado de mi dispositivo si el internet está conectado que el color de la barra de estado debería volverse negro y si internet no está conectado, la barra de color o de estado debería volverse roja para que indique si Internet funciona o no trabajando con la aplicación usando SWIFT … ayúdame

En su Info.plist necesita configurar "Ver la apariencia de la barra de estado basada en el controller" en un valor boolean.

Si lo establece en YES entonces debe anular la function prefernetworkingStatusBarStyle en cada controller de vista.

Si lo configuras en NO , puedes configurar el estilo en AppDelegate usando:

 UIApplication.shanetworkingApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true) 
 override func viewWillAppear(animated: Bool) { self.navigationController?.navigationBarHidden = true //Status bar style and visibility UIApplication.shanetworkingApplication().statusBarHidden = false UIApplication.shanetworkingApplication().statusBarStyle = .LightContent //Change status bar color let statusBar: UIView = UIApplication.shanetworkingApplication().valueForKey("statusBar") as! UIView if statusBar.respondsToSelector("setBackgroundColor:") { statusBar.backgroundColor = UIColor.networkingColor() } } 

Para Swift 2.3

Intente con estos methods

 // Get network status class func hasConnectivity() -> Bool { let reachability: Reachability = Reachability.reachabilityForInternetConnection() let networkStatus: Int = reachability.currentReachabilityStatus().value return networkStatus != 0 } // change status bar color var navigationBarAppearace = UINavigationBar.appearance() navigationBarAppearace.tintColor = UIColor.blueColor() navigationBarAppearace.barTintColor = UIColor.blueColor() 

tintColor atributo tintColor cambia el color de background de la barra de navigation

barTintColor atributo barTintColor afecta al color del

Pero si quieres cambiar el color de la barra de estado en el time de ejecución , creo que la mejor manera es agregar una vista detrás de tu barra de estado .

Como @rckoenes comentó a partir de iOS 7, la barra de estado dibuja sobre tu aplicación. Por lo tanto, puede colocar una vista detrás del área de la barra de estado (20px desde la parte superior – altura de la barra de estado) y puede controlar su color de background según el estado de la connection a Internet, no hay otra opción para cambiar el color de la barra de estado.

Probado en Swift y iOS9

Si usa los controlleres de navigation , coloque esto en su class viewcontroller:

 override func viewDidLoad(){ ... self.navigationController?.navigationBar.barStyle = .Black } 

De lo contrario, anule el PrefernetworkingStatusBarStyle prefernetworkingStatusBarStyle() en su UIViewController:

 override func prefernetworkingStatusBarStyle() -> UIStatusBarStyle { return .LightContent } 

Puedes encontrar más información aquí

Para Swift 3

Esto debería funcionar para Xcode 8 y Swift 3

 override var prefernetworkingStatusBarStyle: UIStatusBarStyle { return .lightContent } 

// Dentro de su AppDelegate.swift en didFinishLaunchingWithOptions: UINavigationBar.appearance (). BarTintColor = UIColor.greenColor ()

 //Optionally, if you need a specific color, how you do it with RGB: UINavigationBar.appearance().barTintColor = UIColor(networking: 1.0, green: 1.0, blue: 1.0, alpha: 1.0) or 

En su Info.plist necesita configurar "Ver la apariencia de la barra de estado basada en el controller" en un valor boolean.

  UIApplication.shanetworkingApplication().statusBarStyle = .LightContent