我制作了包含 3 个页面和“下一步”、“后退”按钮的示例应用程序。
当我单击“下一步”时,动画是完美的:旧内容位于左侧,新内容来自右侧。
然而,我正在努力使“返回”动画同时正常工作。
目标:当单击“返回”时,旧内容应位于右侧,新内容应位于左侧。(“后退”的动画应与“下一步”的动画相反)
知道如何实现这一点吗?
下面是“下一步”的完美过渡
struct ContentView: View {
@State var page: Int = 0
var body: some View {
VStack {
HStack {
Button(action: { withAnimation() { self.page = self.page - 1 } }) {
Text("Back")
}
Spacer()
Button(action: { withAnimation() { self.page = self.page + 1 }}) {
Text("Next")
}
}
Spacer()
if page == 0 {
PageView(name: "First page", color: .brown)
.transition(AnyTransition.asymmetric(insertion: .move(edge: .trailing), removal: .move(edge: .leading)))
} else if page == 1 { …Run Code Online (Sandbox Code Playgroud) swiftui ×1