假设有这样一个简单的 NavigationView
:
struct ContentView : View {
var body: some View {
NavigationView {
VStack {
NavigationLink("Push Me", destination: Text("PUSHED VIEW"))
}
}
}
}
有人找到了一种方法来禁用NavigationView
在将目标视图推入/从堆栈中弹出时的动画吗?
自iOS2.0以来,UIKit就已经实现了这个功能!我认为这对于框架来说并不过分。我尝试了所有视图上的各种修饰符(例如NavigationView
容器、目标视图、NavigationLink
等)。
这些是我尝试过的一些修饰符:
.animation(nil)
.transition(.identity)
.transaction { t in t.disablesAnimations = true }
.transaction { t in t.animation = nil }
没有任何变化。我在EnvironmentValues
中也没有找到任何有用的东西 :-(
我是不是漏掉了什么非常明显的东西,还是这个功能还没有出现?
UINavigationBar.setAnimationsEnabled(false)
似乎是 Xcode 14 和NavigationStack
的唯一解决方法。 - vicegax