SwiftUI 弹出框背景颜色

Tay*_*lor 6 swiftui

UIPopoverPresentationController借助 UIKit,我可以使用's自定义弹出框的背景颜色backgroundColor

这将改变包括箭头在内的颜色。

我如何使用 SwiftUI 来实现这一点?当我更改弹出窗口内容的背景颜色时,它不包括箭头:

带有不同颜色箭头的弹出窗口示例

Nic*_*pps 15

您可以使用它.scaleEffect(\xe2\x80\xa6)来使背景视图占用更多空间。当它\xe2\x80\x99大于弹出窗口的内容时,它将填充箭头。

\n
struct ContentView: View {\n    @State var popoverVisible = false\n\n    var body: some View {\n        VStack {\n            Button("Open Popover") {\n                self.popoverVisible = true\n            }\n            .popover(isPresented: $popoverVisible) {\n                ZStack {\n                    // Scaled-up background\n                    Color.blue\n                        .scaleEffect(1.5)\n                    \n                    Text("Hello world")\n                    .foregroundColor(.white)\n                    .padding()\n                }\n            }\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

设备截图

\n