最后,现在有了Beta 5,我们可以以编程方式弹出到父视图。但是,在我的应用程序中,有几个地方视图都有一个“保存”按钮,该按钮可以结束几个步骤并返回到开始。在UIKit中,我使用popToRootViewController(),但是我一直无法找到在SwiftUI中执行相同操作的方法。
以下是我尝试实现的模式的简单示例。有任何想法吗?
import SwiftUI
struct DetailViewB: View {
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
var body: some View {
VStack {
Text("This is Detail View B.")
Button(action: { self.presentationMode.value.dismiss() } )
{ Text("Pop to Detail View A.") }
Button(action: { /* How to do equivalent to popToRootViewController() here?? */ } )
{ Text("Pop two levels to Master View.") }
}
}
}
struct DetailViewA: View {
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
var body: some View {
VStack {
Text("This is Detail View …Run Code Online (Sandbox Code Playgroud) 昨晚Xcode自动更新到9.0.1版(9A1004).今天,我尝试打开一个现有的项目,我的iOS故事板文件卡在一个永无止境的微调器上,Activity Monitor使用100%CPU报告Interface Builder.我还有第二台仍然拥有Xcode 9.0.0的MacBook Pro,它可以毫无问题地打开故事板.我两个都在运行macOS High Sierra.其他任何人看到这个或知道一个变通方法.