我正在开发一系列屏幕,这些屏幕应该在按下按钮时发生变化,并且应该从右向左滑入/滑出。
一切工作正常,除了.slide
过渡使其从前缘移入并移出到后缘。(从左到右)
我想反转过渡动画方向而不改变尾随/前导是什么(至少不在应用程序的整个上下文中)。
我尝试将过渡更改为.move(edge: .trailing)
,但随后视图从同一方向移入和移出。
import SwiftUI
struct ContentView: View {
enum screens {
case start, mid, final
}
@State var curScreen: screens = .start
func changeScreen() {
switch curScreen {
case .start:
curScreen = .mid
case .mid:
curScreen = .final
case .final:
return
}
}
var body: some View {
switch curScreen {
case .start:
ScreenView(callback: changeScreen, text: "Start")
.transition(.slide)
case .mid:
ScreenView(callback: changeScreen, text: "Mid")
.transition(.slide)
case .final:
ScreenView(callback: {}, text: "Final")
.transition(.slide)
} …
Run Code Online (Sandbox Code Playgroud)