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 给出的答案所示。
你能在 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 给出的答案所示。