SwiftUI 意外地自动弹出 NavigationLink

时间:2021-05-25 10:25:31

标签: ios swiftui ios14.5

我有一个简单的用例,其中一个屏幕使用 NavigationLink 推送另一个屏幕。 iOS 14.5 有一个奇怪的行为,推送的屏幕在被推送后立即弹出。

代码:

NavigationLink(destination: EmptyView()) { EmptyView()} 

我设法创建了一个示例应用程序,并在其中重现它。我相信原因是 @Environment(\.presentationMode) 的存在似乎重新创建了视图并导致推送的视图被弹出。

完全相同的代码在 Xcode 12 / iOS 14.4 中运行良好

1 个答案:

答案 0 :(得分:3)

从上周开始我就被困在这个问题上。为了解决这个问题,我只是将它添加到包含我现有 NavigationLinks:

的视图中
NavigationLink(destination: EmptyView()) {
    EmptyView()
}