有没有办法设置fullScreenCover背景不透明度?

阿斯瓦斯

我需要从视图组件内部的按钮中推送模式视图,但只能覆盖屏幕高度的下半部分,上半部分为半透明背景(黑色,不透明度为30%)。为fullscreenCover视图构建器内的最顶层视图设置不透明度不起作用。任何帮助,将不胜感激。

struct ContentView: View {
    
    @State var present: Bool = false
    var body: some View {
        
        VStack(spacing: 20) {
            
            Button(action: {
                present = true
            }, label: {
                
                Text("spawn translucent modal")
            })
            .fullScreenCover(isPresented: $present) {
                VStack(spacing: 20) {
                    Spacer()
                        .frame(maxWidth: .infinity, minHeight: 100)
                        .background(Color.black)
                        .opacity(0.3)
                    
                    Text("modal")
                }
                .background(Color.clear)
                
            }
            
            Text("some content")
            Text("some more content")
        }
    }
}
他的脾气

这是可能的解决方案

        .fullScreenCover(isPresented: $present) {
            VStack(spacing: 20) {
                Spacer()
                    .frame(maxWidth: .infinity, minHeight: 100)
                    .background(Color.black)
                    .opacity(0.3)
                
                Text("modal")
            }
            .background(BackgroundCleanerView())     // << helper !!
        }

现在是帮手

struct BackgroundCleanerView: UIViewRepresentable {
    func makeUIView(context: Context) -> UIView {
        let view = UIView()
        DispatchQueue.main.async {
            view.superview?.superview?.backgroundColor = .clear
        }
        return view
    }

    func updateUIView(_ uiView: UIView, context: Context) {}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法在React中设置边框不透明度?

来自分类Dev

有没有办法改变Python igraph中的边缘不透明度?

来自分类Dev

Sass的背景不透明度没有RGBA

来自分类Dev

有没有办法使用Leaflet有条件地改变多边形的不透明度?

来自分类Dev

有没有办法在 GNOME 中设置窗口的透明度?

来自分类Dev

有没有颜色的渐变不透明度可能吗?

来自分类Dev

没有悬停的不透明度过渡

来自分类Dev

使用插件将所有背景图像的不透明度设置为0

来自分类Dev

有没有办法避免不透明性被继承?

来自分类Dev

有没有办法保持GFM中SVG的透明度

来自分类Dev

有没有一种方法可以在最后一个之前定义的背景上使用不透明度

来自分类Dev

如何使用Magick ++将具有透明背景的png图像设置为不透明度

来自分类Dev

设置不透明度和将背景设置为rgba(x,y,z,a)有什么区别?

来自分类Dev

jQuery设置CSS背景不透明度

来自分类Dev

设置窗口图像背景的不透明度属性

来自分类Dev

如何在此导航栏上设置背景不透明度并水平对齐所有内容?

来自分类Dev

有没有办法使Google地图标记中的透明度不可点击

来自分类Dev

带有文本的翻转图像上的 CSS 不透明度,但文本上的不透明度没有变化

来自分类Dev

所有浏览器的所有必需的不透明度设置?

来自分类Dev

所有浏览器的所有必需的不透明度设置?

来自分类Dev

设置TextView的不透明度

来自分类Dev

设置TextView的不透明度

来自分类Dev

Famo.us-如何创建具有背景不透明度而不是文本的表面

来自分类Dev

具有不透明度的BottomNavigationView背景色无法正常工作

来自分类Dev

有没有办法在 XFCE4 终端中设置透明背景图像?

来自分类Dev

设置具有不透明度的视差滚动 div

来自分类Dev

为什么表单的不透明度没有改变?

来自分类Dev

使不透明度为0的div没有物理尺寸

来自分类Dev

在没有不透明度的覆盖方块中居中文本

Related 相关文章

  1. 1

    有没有办法在React中设置边框不透明度?

  2. 2

    有没有办法改变Python igraph中的边缘不透明度?

  3. 3

    Sass的背景不透明度没有RGBA

  4. 4

    有没有办法使用Leaflet有条件地改变多边形的不透明度?

  5. 5

    有没有办法在 GNOME 中设置窗口的透明度?

  6. 6

    有没有颜色的渐变不透明度可能吗?

  7. 7

    没有悬停的不透明度过渡

  8. 8

    使用插件将所有背景图像的不透明度设置为0

  9. 9

    有没有办法避免不透明性被继承?

  10. 10

    有没有办法保持GFM中SVG的透明度

  11. 11

    有没有一种方法可以在最后一个之前定义的背景上使用不透明度

  12. 12

    如何使用Magick ++将具有透明背景的png图像设置为不透明度

  13. 13

    设置不透明度和将背景设置为rgba(x,y,z,a)有什么区别?

  14. 14

    jQuery设置CSS背景不透明度

  15. 15

    设置窗口图像背景的不透明度属性

  16. 16

    如何在此导航栏上设置背景不透明度并水平对齐所有内容?

  17. 17

    有没有办法使Google地图标记中的透明度不可点击

  18. 18

    带有文本的翻转图像上的 CSS 不透明度,但文本上的不透明度没有变化

  19. 19

    所有浏览器的所有必需的不透明度设置?

  20. 20

    所有浏览器的所有必需的不透明度设置?

  21. 21

    设置TextView的不透明度

  22. 22

    设置TextView的不透明度

  23. 23

    Famo.us-如何创建具有背景不透明度而不是文本的表面

  24. 24

    具有不透明度的BottomNavigationView背景色无法正常工作

  25. 25

    有没有办法在 XFCE4 终端中设置透明背景图像?

  26. 26

    设置具有不透明度的视差滚动 div

  27. 27

    为什么表单的不透明度没有改变?

  28. 28

    使不透明度为0的div没有物理尺寸

  29. 29

    在没有不透明度的覆盖方块中居中文本

热门标签

归档