我想以编程方式选择/NavigationLink中的特定内容。NavigationViewList
以下代码在纵向或横向模式下的 iPhone 上都可以正常工作 == 在列表除了目标视图之外不永久可见的情况下。
\n\n代码:
\nstruct ContentView: View {\n\nprivate let listItems = [ListItem(), ListItem(), ListItem()]\n@State var selection: Int? = 0\n\nvar body: some View {\n NavigationView {\n \n List(listItems.indices) {\n index in\n \n let item = listItems[index]\n let isSelected = (selection ?? -1) == index\n \n NavigationLink(destination: Text("Destination \\(index)"),\n tag: index,\n selection: $selection) {\n \n Text("\\(item.name) \\(index) \\(isSelected ? "selected" : "")")\n \n }\n \n }\n \n }\n .listStyle(SidebarListStyle())\n .onAppear(perform: {\n …Run Code Online (Sandbox Code Playgroud)