0
  let datasource = [
    "view1",
    "view2",
    "view3",
    "view4",
    "view5",
    "view6",
    ...
  ]

我想在列表中显示数据源,并推送到不同的视图,例如 View1()、View2()、View3()、View4()...

我应该在 SwiftUI 中做什么?

4

1 回答 1

0

下面是一个关于如何以编程方式决定要转到哪个视图的示例。这也可以在列表中使用......

struct ProgrammaticNavigationExampleView: View {

    enum NavDestination {
        case red
        case green
    }

    @State var destination : NavDestination?

    var body: some View {
        VStack(spacing: 20) {
            NavigationLink(destination: Color.red, tag: NavDestination.red, selection: $destination) {
                EmptyView()
            }
            NavigationLink(destination: Color.green, tag: NavDestination.green, selection: $destination) {
                EmptyView()
            }
            Text("Page 1")
            Button("Show random page") {
                self.destination = [.red, .green].randomElement()!
            }
        }
        .navigationBarTitle("Page 1")
    }

}

struct ProgrammaticNavigationExample_Previews: PreviewProvider {
    static var previews: some View {
        NavigationView {
            ProgrammaticNavigationExampleView()
        }
    }
}
于 2020-05-22T07:52:56.187 回答