繁体   English   中英

SwiftUI - 有没有办法在没有 NavigationView 的情况下构建动态列表视图?

[英]SwiftUI - Is there any way to build a dynamic list view without NavigationView?

(示例代码已添加)

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

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

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

下面是我实现的示例:

NavigationView{

    List{

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

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

                WorkItemListRow(item: item)
            }
        }
    }
}

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

您还可以使用模态演示:

@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)
               }
    }
}

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

你可以使用这个:

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

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM