我有一个简单的用例,其中一个屏幕使用NavigationLink推送另一个屏幕。在iOS 14.5上存在一种奇怪的行为,即被推送的屏幕在刚推出后就被弹出。
代码:
NavigationLink(destination: EmptyView()) { EmptyView()}
我设法创建了一个示例应用程序,并在其中复现了这个问题。我认为问题的原因是存在@Environment(\.presentationMode)
,它似乎重新创建了视图并导致推送的视图被弹出。
在Xcode 12 / iOS 14.4中,完全相同的代码可以正常工作。