SwiftUI:如何弹出到WatchOS的根视图?
我需要从深层细节视图跳转到根视图。虽然下面使用isDetailList和isActive的解决方案在iOS上运行得很好,但在watchOS上却不起作用。isDetailList命令在watchOS中不可用SwiftUI:如何弹出到WatchOS的根视图?,swiftui,watchkit,apple-watch,watchos,Swiftui,Watchkit,Apple Watch,Watchos,我需要从深层细节视图跳转到根视图。虽然下面使用isDetailList和isActive的解决方案在iOS上运行得很好,但在watchOS上却不起作用。isDetailList命令在watchOS中不可用 import SwiftUI class AppState : ObservableObject { @Published var showState : Bool = false } struct MoreTests: View { @EnvironmentObject
import SwiftUI
class AppState : ObservableObject {
@Published var showState : Bool = false
}
struct MoreTests: View {
@EnvironmentObject var appState : AppState // injected from SceneDelegate
var body: some View {
NavigationView {
NavigationLink(
destination: MoreView1(),
isActive: $appState.showState, // required to work
label: { Text("Go to MoreView1") }
).isDetailLink(false) // required to work
}.navigationBarTitle("Root")
}
}
struct MoreView1: View {
var body: some View {
NavigationLink(
destination: MoreView2(),
label: { Text("Go to MoreView2") }
)
.navigationBarTitle("MoreView1")
}
}
struct MoreView2: View {
var body: some View {
NavigationLink(
destination: MoreView3(),
label: { Text("Go to MoreView3") }
)
.navigationBarTitle("MoreView2")
}
}
struct MoreView3: View {
@Environment(\.presentationMode) var presentationMode
@EnvironmentObject var appState : AppState
var body: some View {
VStack {
Button(action: {
self.appState.showState = false // required
}) {
Text("Dismiss to root")
}
}.navigationBarTitle("MoreView3")
}
}
iOS解决方案来自这里-->你找到答案了吗?谢谢。这仍然是一个问题,在7.0中无法解决。我们做了一个不优雅的变通办法。