SwiftUI - 如何模糊视图的默认背景颜色?

Posted

技术标签:

【中文标题】SwiftUI - 如何模糊视图的默认背景颜色?【英文标题】:SwiftUI - How can I blur the default background color of a view? 【发布时间】:2019-12-30 07:26:53 【问题描述】:

此处没有可显示的代码,但我想知道如何才能做到这一点。我试过用

.blur(radius: (20)

在一个视图上,但它往往会模糊整个视图。包括文本,以及视图中的任何其他内容。默认背景颜色很好,我不想/不需要更改它(以保持应用程序与亮/暗模式兼容)。我想让视图的背景稍微模糊/不透明,但我希望视图中的文本和按钮仍然保持完整和正常。有没有什么办法可以只模糊视图本身的背景颜色?

【问题讨论】:

这里不可以添加一个UIVisualEffectView作为childView吗? 你可以查看这个问题:***.com/questions/56610957/… 【参考方案1】:

可以只将模糊直接应用于背景,如下例所示

Button("Test") 
        .background(Rectangle().fill(Color.red).blur(radius: 20))

【讨论】:

不错!谢谢你。是否可以在不指定矩形颜色的情况下做到这一点?我注意到你的是红色的。如果不是,我很可能只是模糊灰色。

以上是关于SwiftUI - 如何模糊视图的默认背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 SwiftUI 视图的默认背景颜色?

SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?

更改选项卡式视图 SwiftUI 的凹槽区域背景颜色

在 SwiftUI 中更改 GroupBox 背景颜色

SwiftUI 如何根据获取的数据更改视图的背景颜色?

更改选项卡式视图栏颜色 SwiftUI