我找不到有关使用SwiftUI 以* 编程 方式 弹出 或 关闭 所显示视图的任何方式的任何参考。 *
在我看来,唯一的方法是对模式使用已经集成的幻灯片dow操作(以及是否/如何禁用此功能?),以及对导航堆栈使用后退按钮。
有人知道解决方案吗?您知道这是一个错误还是会一直保持这种状态?
本示例使用Beta 5版本说明中记录的新环境var,该环境使用了value属性。在更高的Beta中对其进行了更改,以使用wrappedValue属性。该示例现在是GM版本的最新示例。此完全相同的概念可消除由.sheet修饰符呈现的模态视图。
import SwiftUI struct DetailView: View { @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode> var body: some View { Button( "Here is Detail View. Tap to go back.", action: { self.presentationMode.wrappedValue.dismiss() } ) } } struct RootView: View { var body: some View { VStack { NavigationLink(destination: DetailView()) { Text("I am Root. Tap for Detail View.") } } } } struct ContentView: View { var body: some View { NavigationView { RootView() } } }