【发布时间】:2021-12-07 00:42:45
【问题描述】:
我有一个黄色的容器,里面有一个绿色的视图。我想移动容器,同时隐藏/显示内部绿色视图,并带有动画。目前,我使用.offset 进行移动,使用if 声明绿色视图的过渡。
问题是,虽然黄色容器移动了,但绿色视图却没有。它只是在目标偏移处淡入淡出。我希望它也能沿着黄色容器移动。
这是我的代码:
struct ContentView: View {
@State var showingSubview = false
var body: some View {
VStack {
Button("Show Subview") {
withAnimation(.easeInOut(duration: 2)) {
showingSubview.toggle()
}
}
if showingSubview {
Text("Subview")
.padding()
.background(Color.green)
}
}
.padding()
.background(Color.yellow)
.offset(x: showingSubview ? 150 : 0, y: 0)
}
}
如何让绿色视图随着黄色容器一起移动,因为它淡入淡出?最好是继续使用if 或switch 语句进行插入/删除。
【问题讨论】:
-
你还没有得到第二个 GIF 中显示的工作代码吗?或者我错过了什么:p
-
@George 不幸的是,这只是我在 Figma 中制作的原型
标签: ios swift swiftui swiftui-animation