web-dev-qa-db-fra.com

Impossible de changer la couleur de fond de widget iOS14

Je sais que je peux changer les points de vue des couleurs de fond de Swiftui avec ce code:

.background(Color(.systemGroupedBackground))

Mais je ne peux pas le faire pour la couleur de fond de widget lui-même!

J'utilise ce code:

struct XWidget: Widget { // MARK: Widget is defined here
    var body: some WidgetConfiguration {
        StaticConfiguration(
            kind: "xWidget",
            provider: xProvider(),
            placeholder: Text("Loading...")) { entry in
            xWidgetEntryView(entry: entry).background(Color(.systemGroupedBackground)) // <= here
        }.supportedFamilies([.systemSmall, .systemMedium, .systemLarge])
    }
}

Mais le résultat est comme ceci:

enter image description here

11
Ahmadreza

Vous pouvez également définir une couleur dans votre vue de widget à l'aide d'un Zstack, comme vous le souhaitez:

var body: some View {
        
       VStack {
            ZStack {
                Color.black
                    .ignoresSafeArea()
                Link(destination: Deeplink.image.url!) {
                    Image("exampleImage")
                        .resizable()
                        .aspectRatio(contentMode: .fit)
                        .padding(.vertical, 3)
                }
            }
            Text("Example text")
        }
    }
1