为什么这个简单的不透明动画在 SwiftUI 中不起作用?
Why isn't this simple opacity animation working in SwiftUI?
我试图为文本制作一个简单的淡入淡出动画,但是当我尝试这样做时它不起作用。不透明度没有平滑的增加和减少,它只是跳到完全并且没有不透明度。
struct Test: View {
@State var showing = false
var body: some View {
VStack {
Button("Toggle") {
self.showing.toggle()
}
if showing {
Text("Hello")
.transition(.opacity)
.animation(.easeInOut)
}
}
}
}
有谁知道为什么这不能按预期工作?当在视图层次结构中插入和删除文本时,我希望它能平滑地淡入淡出过渡。
当 showing
是 false
时,没有人可以动画了。而是使用以下内容:
VStack {
if showing {
Text("Hello")
.transition(.opacity)
}
}.animation(.easeInOut) // << here !!
我试图为文本制作一个简单的淡入淡出动画,但是当我尝试这样做时它不起作用。不透明度没有平滑的增加和减少,它只是跳到完全并且没有不透明度。
struct Test: View {
@State var showing = false
var body: some View {
VStack {
Button("Toggle") {
self.showing.toggle()
}
if showing {
Text("Hello")
.transition(.opacity)
.animation(.easeInOut)
}
}
}
}
有谁知道为什么这不能按预期工作?当在视图层次结构中插入和删除文本时,我希望它能平滑地淡入淡出过渡。
当 showing
是 false
时,没有人可以动画了。而是使用以下内容:
VStack {
if showing {
Text("Hello")
.transition(.opacity)
}
}.animation(.easeInOut) // << here !!