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
?
Réponses
Trop de publicités?Plusieurs possibilités : (SwiftUI / Xcode 11)
1 .background(Color.black) //pour les couleurs du système
2 .background(Color("green")) //pour les couleurs que vous avez créées dans Assets.xcassets
- Autrement, vous pouvez faire Commande+Clic sur l'élément et le changer à partir de là.
J'espère que cela vous aidera :)
Est-ce que cette solution fonctionnerait ?:
ajoutez la ligne suivante à SceneDelegate : window.rootViewController?.view.backgroundColor = .black
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
if let windowScene = scene as? UIWindowScene {
window.rootViewController?.view.backgroundColor = .black
}
J'aime déclarer un modificateur pour changer la couleur de fond d'une vue.
extension View {
func background(with color: Color) -> some View {
background(GeometryReader { geometry in
Rectangle().path(in: geometry.frame(in: .local)).foregroundColor(color)
})
}
}
Ensuite, j'utilise le modificateur en passant une couleur à une vue.
struct Content: View {
var body: some View {
Text("Étiquette en premier plan").foregroundColor(.green).background(with: .black)
}
}