- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在SwiftUI中,TabView中选项卡栏后面的 View 将照亮,就像选项卡栏的背面是毛玻璃一样。 Apple在自己的应用程序中到处都使用这种外观。但是如何将其添加到SwiftUI的 View 中?
这是Podcasts应用程序中的示例。标签栏具有磨砂玻璃效果。标签栏顶部的叠加式迷你播放器也是如此。默认情况下,TabView中的任何选项卡栏都具有这种外观,但没有关联的覆盖图(在这种情况下为迷你播放器)。
最佳答案
苹果的方式
对 View 层次结构的调查表明,出于这个原因,Apple正在使用UIKit
和UIVisualEffectView
。您可以仅用5行代码来定义VisualEffectView
:
struct VisualEffectView: UIViewRepresentable {
var effect: UIVisualEffect?
func makeUIView(context: UIViewRepresentableContext<Self>) -> UIVisualEffectView { UIVisualEffectView() }
func updateUIView(_ uiView: UIVisualEffectView, context: UIViewRepresentableContext<Self>) { uiView.effect = effect }
}
用法示例:
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)
}
}
}
.blur()
修饰符,例如:
struct ContentView: View {
var body: some View {
ZStack {
Image("BG")
.resizable()
.scaledToFill()
.edgesIgnoringSafeArea(.all)
.blur(radius: 20) // <- this is the important modifier. The rest is just for demo
Text("Hello \nSwiftUI Blur Effect")
.font(.largeTitle)
.fontWeight(.black)
.foregroundColor(.white)
}
}
}
Group
多个 View 并将它们模糊在一起。
关于swiftui - 当前 View 后面的 View 的半透明(模糊效果,如VisualEffectView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111075/
我正在尝试显示一个 (AlertController) 操作表。但是我在控制台中得到了这种减弱“ 被要求为其不透明度设置动画。这将导致效果出现中断,直到不透明度返回到 1。” 这是我的代码:- ext
我使用 bool 条件定义了一个 VisualEffectView。在这种情况下,当按下按钮时,将使用 active: true 调用此函数 func addVisualEffectView(acti
Picture of my code import UIKit class ViewController: UIViewController { @IBOutlet var addItemVie
我的应用程序有一个 wkwebview,我设置了一个弹出窗口来显示应用程序信息。我使用 youtube 上的教程添加了一个 visualeffectview。效果很好,问题是现在它似乎阻止我与 web
我是一名优秀的程序员,十分优秀!