How to use custom view transitions in SwiftUI when navigating?
在基于 UIKit 的应用程序中,我们可以使用
在 SwiftUI 中是否有等价物?
我知道我们已经可以在删除和添加视图之间进行动画处理。
但是当我们 push 和 pop 到导航堆栈时,我们该怎么做呢?
到目前为止,SwiftUI 的 API 中还没有类似的东西可用。确保向 Apple 提出增强请求。
自己实现"导航"是一个糟糕的主意,因为您基本上提供了
相反,这里有一个建议:
通过自定义 SwiftUI 视图或修饰符,用
如果您确实需要更高级的过渡(例如 Photos.app 的照片过渡),您可以创建一个自定义
提议的 API 如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | struct ContentView1: View { var body: some View { NavigationLink(destination: DetailView()) { Image("small").customSourceTarget() }.navigationBarTitle("Navigation") } } struct ContentView2: View { var body: some View { Image("large").customTransitionTarget() } } NavigationView { ContentView1() }.customAnimatable() |