我最近一直在尝试制作一个 tvOS 应用程序,但遇到了以下相当烦人的问题。我无法在 TabView 中使用导航,并且仍然可以通过删除菜单按钮返回到之前的状态。
struct TestView: View {
@State var selection : Int = 0
var body: some View {
TabView(selection: self.$selection) {
ExpView()
.tabItem {
HStack {
Image(systemName: "magnifyingglass")
Text("Explore")
}
}
.tag(0)
}
}
}
struct ExpView: View {
var body: some View {
NavigationView {
NavigationLink(destination: DetailView(title: "Hey")) {
Text("Detail")
}
}
}
}
struct DetailView: View {
var title : String
var body: some View {
VStack {
Text(title)
}
}
}
我的问题是:有什么方法可以使菜单按钮返回到层次结构中的上一个 View 而不完全关闭应用程序?
最佳答案
您不需要在菜单上调用解雇,它会自动为 NavigationLink 调用(因此再调用一次解雇将退出主菜单)
这里是固定 View 。使用 Xcode 11.4 进行测试
struct ExploreView: View {
var body: some View {
NavigationView {
NavigationLink(destination: DetailView(title: "Hey")) {
Text("Detail")
}
}
}
}
struct DetailView: View {
var title : String
var body: some View {
VStack {
Text(title)
}
}
}
关于SwiftUI - TabView 内的 OnExitCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62492402/