228 votes

SwiftUI - Comment changer la couleur de fond d'une vue ?

Je commence à essayer SwiftUI et je suis surpris que cela ne semble pas être simple de changer la couleur d'arrière-plan d'une View. Comment faites-vous cela en utilisant SwiftUI?

3voto

Prashant Gaikwad Points 291

Xcode 11.5

Utilisez simplement ZStack pour ajouter une couleur de fond ou des images à votre vue principale dans SwiftUI

struct ContentView: View {
    var body: some View {
        ZStack {
            Color.black
        }
        .edgesIgnoringSafeArea(.vertical)
    }
}

2voto

ShigaSuresh Points 1038

Utilisez le code ci-dessous pour personnaliser la couleur de la barre de navigation

struct ContentView: View {

@State var msg = "Bonjour SwiftUI"
init() {
    UINavigationBar.appearance().backgroundColor = .systemPink

     UINavigationBar.appearance().largeTitleTextAttributes = [
        .foregroundColor: UIColor.white,
               .font : UIFont(name:"Helvetica Neue", size: 40)!]

    // 3.
    UINavigationBar.appearance().titleTextAttributes = [
        .font : UIFont(name: "HelveticaNeue-Thin", size: 20)!]

}
var body: some View {
    NavigationView {
    Text(msg)
        .navigationBarTitle(Text("BARRE DE NAVIGATION"))       
    }
    }
}

entrer la description de l'image ici

0voto

Rajee Jones Points 144

Exemple de NavigationView :

var body: some View {
    var body: some View {
        NavigationView {
            ZStack {
                // Arrière-plan
                Color.blue.edgesIgnoringSafeArea(.all)

                contenu
            }
            //.navigationTitle(Constants.navigationTitle)
            //.navigationBarItems(leading: cancelButton, trailing: doneButton)
            //.navigationViewStyle(StackNavigationViewStyle())
        }
    }
}

var content: some View {
    // votre contenu ici; List, VStack etc - ce que vous voulez
    VStack {
       Text("Bonjour le monde")
    }
}

-14voto

CSE 1994 Points 41

Le code sur Scene delegate en Swift UI

Couleur d'arrière-plan de la vue de contenu

window.rootViewController?.view.backgroundColor = .lightGray

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X