SwiftUI 中的多个 NavigationLink

Multiple NavigationLink in SwiftUI

你能在 SwiftUI 中有多个 NavigationLink 吗?下面只显示第一个Link:

struct Test : View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: Text("First")) {
                Text("Visible")
            }
            NavigationLink(destination: Text("Second")) {
                Text("Invisible")
            }
            //EDIT: Also Invisible
            Text("Not rendered")
        }
    }
}

编辑:原来第一个NavigationLink下的所有内容都没有显示

将您的视图放入 VStack 中:

struct Test : View {
    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: Text("First")) {
                    Text("Visible")
                }

                NavigationLink(destination: Text("Second")) {
                    Text("Invisible")
                }
                //EDIT: Also Invisible
                Text("Not rendered")
            }
        }
    }
}

你看你肯定可以有多个 NavigationLinks 但这里你做错了一件事。

正文 属性 return 是一个单独的视图,但在这里您试图 return 多个视图,这会导致错误。

为了解决这个问题,我们将它们放在另一个视图中,例如 VStack 或 HStack,如上面 kontiki 给出的答案所示。