[英]How to blur View with Animation in SwiftUI?
我正在根據Scene Phase
模糊視圖。 我還添加了withAnimation {... }
,但是,在沒有任何 Animation Blur-Transition
。 查看我的代碼:
@main struct ExampleApp: App {
@Environment(\.scenePhase) var scenePhase
@State private var blurRadius: CGFloat = 0
var body: some Scene {
WindowGroup {
RootView()
.blur(radius: blurRadius)
.onChange(of: scenePhase, perform: { value in
switch value {
case .active : withAnimation { blurRadius = 0 }
case .inactive: withAnimation { blurRadius = 15 }
@unknown default: print("Unknown")
}
})
}
}
}
有誰知道為什么在沒有任何Animation
的情況下Blur-Status
會發生變化?
謝謝您的幫助。
盡管此行為似乎無法作為App
中的根節點正常工作,但如果您在View
中移動模糊和 animation ,它似乎確實有效:
struct RootView: View {
@Environment(\.scenePhase) var scenePhase
@State var blurRadius : CGFloat = 0
var body: some View {
Text("Hello, world!")
.blur(radius: blurRadius)
.onChange(of: scenePhase, perform: { value in
switch value {
case .active : withAnimation { blurRadius = 0 }
case .inactive: withAnimation { blurRadius = 15 }
@unknown default: print("Unknown")
}
})
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.