我有一个简单的用例,其中一个屏幕使用NavigationLink推送另一个屏幕。iOS 14.5有一种奇怪的行为,推送的屏幕在被推送后立即弹出。
代码:
NavigationLink(destination: EmptyView()) { EmptyView()}
我设法创建了一个示例应用程序,在那里我复制了它。我相信原因是@Environment(.presentationMode)
的存在,它似乎重新创建了视图,并导致推送的视图弹出。
完全相同的代码在Xcode 12/iOS 14.4 中运行良好
从上周开始我就陷入了困境。为了解决这个问题,我只需将其添加到包含现有NavigationLink
的视图中:
NavigationLink(destination: EmptyView()) {
EmptyView()
}