2 votes

Couleur de fond du popover SwiftUI

Avec UIKit, je pouvais personnaliser la couleur de fond d'un popover en utilisant UIPopoverPresentationController 's backgroundColor .

Cela change la couleur, y compris celle de la flèche.

Comment puis-je réaliser cela avec SwiftUI ? Lorsque je modifie la couleur d'arrière-plan du contenu du popover, la flèche n'est pas incluse :

Example of popover with different color arrow

4voto

Nicolapps Points 421

Vous pouvez utiliser .scaleEffect(…) pour que l'affichage de votre arrière-plan prenne plus de place. Lorsqu'elle est plus grande que le contenu du popover, elle remplit la flèche.

struct ContentView: View {
    @State var popoverVisible = false

    var body: some View {
        VStack {
            Button("Open Popover") {
                self.popoverVisible = true
            }
            .popover(isPresented: $popoverVisible) {
                ZStack {
                    // Scaled-up background
                    Color.blue
                        .scaleEffect(1.5)

                    Text("Hello world")
                    .foregroundColor(.white)
                    .padding()
                }
            }
        }
    }
}

Device screenshot

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