-1

(示例代码已添加)

我正在尝试使用 SwiftUI 来构建一个可选列表,就像 Swift 中的原始 Tableview 一样。

我想在选定项目上的用户选项卡时显示详细视图。但是,我发现实现它的唯一方法是使用 NavigationView 和 NavigationLink。

有谁知道还有其他方法可以通过 SwiftUI 实现可选列表吗?

下面是我实现的示例:

NavigationView{

    List{

        ForEach(items, id: \.id){ item in 

            NavigationLink(destination: WorkItemDetailView(item: item)){

                WorkItemListRow(item: item)
            }
        }
    }
}

WorkItemListRow 是在列表的单元格中呈现对象。WorkItemDetailView 是详细视图,将显示对象的详细信息。

4

2 回答 2

2

您还可以使用模态演示:

@State var selectedItem: Item? = nil

var body: some View {
    List {
        ForEach(items) { item in
            WorkItemListRow(item: item)
                .onTapGesture {
                    self.selectedItem = item
                }
        }
    }   .sheet(item: $selectedItem,
               onDismiss: { self.selectedItem = nil }) { item in
                    WorkItemDetailView(item: item)
               }
    }
}
于 2019-10-30T09:04:26.560 回答
-5

我认为最好提供源代码,无论如何根据您的问题,您已经建立了一个表格视图,但只是想转到另一个页面,其中包含表格视图中所选项目的详细信息。

你可以使用这个:

  func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            let vc = ViewController()
            self.present(vc, animated: true, completion: nil)

}
于 2019-10-30T07:06:14.363 回答