首页 > 解决方案 > 导航到 SwiftUI 中的相同视图

问题描述

所以我试图在 SwiftUI 中从一个视图导航到另一个视图,并偶然发现了一个问题。

我的视图看起来像这样,并试图从一个 DetailView 导航到另一个 DetailView,但是一旦我按下导航链接,我就被迫回到第一个 DetailView。

关于如何在 SwiftUI 中导航到同一视图的任何想法?

ListView.swift

struct ListView: View {
    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: DetailView(data: data)) {
                    Text("Navigate")
                }
            }
        }
    }
}

DetailView.swift

struct DetailView: View {
    var body: some View {
        VStack {
            NavigationLink(destination: DetailView(data: otherData)) {
                Text("Navigate")
            }
        }
    }
}

编辑:

删除下面指出的NavigationViewin但仍然面临同样的问题。DetailView

标签: iosswiftnavigationswiftui

解决方案


NavigationView从中删除DetailView,堆栈中应该只有一个,因此当您导航时,所有新链接都在 original 中打开NavigationView

struct DetailView: View {
    var body: some View {
         VStack {
             NavigationLink(destination: DetailView(data: otherData)) {
                 Text("Navigate")
             }
         }
    }
}

推荐阅读