让我们看一下以下代码片段:
struct ContentView: View {
@State private var isViewHidden: Bool = false
let data = [1,2,3,4,5,6,7]
public var body: some View {
VStack {
Button("Hide", action: {
withAnimation {
isViewHidden.toggle()
}
})
ForEach(data, id: \.self) { _ in
VStack {
Text("Foo")
if isViewHidden {
Text("Bar").animation(nil)
}
}.padding().background(Color.green)
}
}
}
}
我希望 Text("Hide") 将为父 VStack 内的位置设置动画。但它会坚持到最后一个位置并从那里淡出并动画回到那个位置。有没有可能给这个动画一个更自然的感觉,所以它会在它的父级内部动画。