Nic*_*lli 6 swiftui swiftui-navigationstack
我环顾四周,但没有看到任何这方面的信息。如果我想在 SwiftUI 中拥有多个导航堆栈,并拥有多个添加到不同导航堆栈的导航链接,我该怎么做?在我的用例中,我使用选项卡视图,所以我会是这样的:
NavigationStack(path: $globalNavigationStack) {
TabView {
PrimaryView()
SecondaryView()
}
}
Run Code Online (Sandbox Code Playgroud)
那么也许在 PrimaryView 中:
struct PrimaryView: View {
var body: some View {
NavigationStack(path: $localNavigationStack) {
NavigationLink(value: SomeType.self) {
Button("This should add to local stack")
}
.navigationDestination(for: SomeType.val) { someType in
ViewOnLocalStack()
}
NavigationLink(value: SomeType.self) {
Button("This should add to global stack")
}
.navigationDestination(for: SomeType.val) { someType in
ViewOnGlobalStack()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但第二个NavigationLink将添加到本地堆栈。假设我有权访问全局路径,如何使第二个路径添加到全局路径?我尝试的是这样的:
NavigationStack(path: $globalNavigationStack) {
TabView {
PrimaryView()
SecondaryView()
}
}
.navigationDestination(for: SomeType.val) { someType in
ViewOnGlobalStack()
}
Run Code Online (Sandbox Code Playgroud)
随着onDestination从第二个链接中删除 ,但控制台抱怨导航链接没有相应的onDestination. 不确定我是否见过其他人有类似的情况。
| 归档时间: |
|
| 查看次数: |
1919 次 |
| 最近记录: |