在以前的iOS版本中,我以编程方式将NavigationLink推到
NavigationLink(isActive: $searched, destination: { SearchView(originalSearchPhrase: $searchedPhrase) }, label: {})当我希望isActive变量被推送时,切换它。但是,在iOS16中,所有带有isActive的NavigationLinks都不受欢迎。是否还有一种以编程方式推动NavigationLinks的方法?
发布于 2022-06-11 17:31:59
我们只需要将相应的链接值推入NavigationStack路径。

这是主要的部分。用Xcode 14 / iOS 16测试
enum Dest: Hashable {
case search, details
}
@State private var path: [Dest] = []
var body: some View {
NavigationStack(path: $path) {
Button("Go search") { path.append(.search) } // << here !!
Divider()
NavigationLink(value: Dest.search) {
Text("Search")
}
.navigationDestination(for: Dest.self) {
switch $0 {
case .search:
Text("Search Destination Here")https://stackoverflow.com/questions/72586394
复制相似问题