2017-09-11 3 views
0

Je souhaite définir la couleur d'arrière-plan en plein écran (y compris la barre de navigation et la barre d'état) avec une couleur dégradée. En ce moment, j'ai fait en créant un gradientDéfinir l'arrière-plan dans UIViewController à l'intérieur du contrôleur de navigation

func setDefaultColorBackground() { 
    let colorTop = UIColor(hexString: "804b8a").cgColor 
    let colorBottom = UIColor(hexString: "42074b").cgColor 

    let gradientLayer = CAGradientLayer() 
    gradientLayer.colors = [ colorTop, colorBottom] 
    gradientLayer.locations = [ 0.0, 1.0] 
    gradientLayer.frame = self.view.bounds 

    self.view.layer.insertSublayer(gradientLayer, at: 0) 
} 

J'ajouté couche dans mon view en ViewController. Cela fonctionne mais cela ne couvre pas la barre d'état et la barre de navigation. Voir cette image: background

Je pense que l'arrière-plan ne remplit que la vue sous la barre de navigation. Quoi qu'il en soit, j'utilise .xib et le charge manuellement dans ma classe de contrôleur de vue.

Y a-t-il des idées pour le faire? Merci beaucoup!

Répondre

0

Je suppose que changer la couleur de la barre de navigation, vous devez écrire le code pour elle aussi quelque chose comme ceci:

UINavigationBar.appearance().barTintColor = UIColor.redColor() 

ou quelle que soit la couleur que vous voulez fournir:

UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 0/255, blue: 205/255, alpha: 1) 
UINavigationBar.appearance().tintColor = UIColor.whiteColor() 
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()] 

I J'espère que cela vous a été utile. Happy Coding :)