我正在尝试创建一个SwiftUI弹出窗口,背景为半透明材质(常规、薄或超薄),以显示弹出窗口内容背后的一些内容活力。
我试着在背景视图中添加ultraThin
和其他材质类型。它们对弹出背景没有任何影响。我也试着通过创建一个视觉效果视图来创建一个UIViewRepresentable
。仍然,对弹出背景没有任何影响。
.popover(isPresented: $showPopover) {
ZStack {
Text("My popover content")
.font(.title)
}
.frame(width: 250, height: 350, alignment: .center)
.background(.ultraThinMaterial)
}
1条答案
按热度按时间wbgh16ku1#
默认情况下,弹出窗口在iPadOS和macOS上是半透明的。在iOS上,弹出窗口以模态视图的形式显示。
.background(.ultraThinMaterial)
直接应用于您的ZStack视图,但不应用于弹出/模态视图本身。使用UIViewRepresentable
或UIViewControllerRepresentable
只会将您的UIView/UIViewController Package 在视图中,并且仍然不会对弹出/模态视图产生影响。在当时(SwiftUI 4,Xcode 14.2),无法使用SwiftUI更改弹出/模态视图的背景材料。