通过UIVisualEffectView可以实行毛玻璃效果。
struct VisualEffectView: UIViewRepresentable { var effect: UIVisualEffect? func makeUIView(context: UIViewRepresentableContext<Self>) -> UIVisualEffectView { UIVisualEffectView() } func updateUIView(_ uiView: UIVisualEffectView, context: UIViewRepresentableContext<Self>) { uiView.effect = effect uiView.alpha = 0.6 } }
struct ContentView: View { var body: some View { ZStack { Image("BG") .resizable() .scaledToFill() .edgesIgnoringSafeArea(.all) VisualEffectView(effect: UIBlurEffect(style: .dark)) .edgesIgnoringSafeArea(.all) Text("Hello \nVisual Effect View") .font(.largeTitle) .fontWeight(.black) .foregroundColor(.white) } } }