1
votes

Couleur d'arrière-plan de l'écran

J'essaye de régler la couleur d'arrière-plan de l'écran sur rose cependant, lorsque j'utilise bordsIgnoringSageArea (.all) , il est ignoré et reste blanc.

S'agit-il peut-être d'un bogue de Xcode 11 Bêta 2 ?

struct ContentView : View {
    @State var sliderValue: Float = 0

    var body: some View {
        VStack {
            Spacer()

            HStack {
                Image("lectric")
                Text("Some Text").font(.largeTitle)
            }

            Slider(value: $sliderValue, from: 1, through: 100, by: 1)

            Spacer()
        }.padding(.horizontal, 50)
         .background(Color.pink)
         .edgesIgnoringSafeArea(.all)
    }
}

 entrez la description de l'image ici p >


3 commentaires

Dur à dire. Premièrement, pourquoi n'utilisez-vous pas déjà la version bêta 3? Il est disponible depuis 3 jours et peut répondre à votre question. Deuxièmement, avez-vous essayé d'utiliser un ZStack pour définir la couleur d'arrière-plan? Ce n'est peut-être pas la chose que vous voulez faire, mais étant donné que nous sommes à peine en beta 3 ... ça marche?


L'utilisation de la bêta 3 et l'application de ZStack le résout. Merci!


Heureux de vous aider. peut-être que votre code fonctionnera dans une future version bêta - assurez-vous de le vérifier chaque semaine. N'est-ce pas amusant de travailler avec des logiciels de pointe? :-)


4 Réponses :


-2
votes

C'est la barre d'état. Il n'est pas manipulé par une zone sûre. Vous devez changer la couleur de la fenêtre ou ajouter une sous-vue pour changer la couleur de la barre d'état.

Voici quelques idées pour la barre d'état Comment changer la barre d'état couleur du texte sous iOS

et voici quelques idées avec des vues personnalisées

Comment changer la couleur d'arrière-plan de la barre d'état et la couleur du texte sur iOS 7?


1 commentaires

La question concerne SwiftUI. Vos deux liens sont pour UIKit.



0
votes

L ' aperçu automatique ne peut pas encore gérer SafeArea .
Si vous exécutez l'application, elle fonctionnera comme prévu.


0 commentaires

-2
votes

Il semble donc que vous souhaitiez présenter la même couleur sur tout l'écran, le composant de la barre d'état reste toujours séparé du reste de la vue, je vous recommande donc d'essayer de changer la couleur de la barre d'état spécifiquement. Veuillez essayer la méthode d'extrait de code ci-dessous.

import UIKit

class ViewController: UIViewController {
override func viewDidLoad() {
    super.viewDidLoad()

   self.setStatusBarBackgroundColor(color: .blue)
    // Do any additional setup after loading the view, typically from a nib.
}


func setStatusBarBackgroundColor(color: UIColor) {

    guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }

    statusBar.backgroundColor = color
}
}

Vous pouvez évidemment rendre cette méthode générique également et appeler depuis appdelegate ou une classe commune.


0 commentaires

1
votes

Ce code changera la couleur d'arrière-plan de la navigation

 init(){
    UINavigationBar.appearance().backgroundColor = UIColor.blue
  }


0 commentaires