[英]Navigation between SwiftUI Views
我不知道如何使用按钮在视图之间导航。
我在网上找到的唯一东西是详细视图,但我不希望左上角有后退按钮。 我想要通过两个按钮连接两个独立视图,一个在第一个,一个在第二个。
此外,如果我要删除第二个视图上的按钮,我应该会卡在那里,返回第一个视图的唯一选择是让应用程序崩溃。
在 storyboard 中,我将创建一个带有动作TouchUpInSide()
的按钮并指向首选视图 controller。
当您习惯了 storyboard 时,您还认为进入 SwiftUI 值得吗?
解决方案之一是在主视图中有一个@State
变量。 此视图将根据@State
变量的值显示其中一个子视图:
struct ContentView: View {
@State var showView1 = false
var body: some View {
VStack {
if showView1 {
SomeView(showView: $showView1)
.background(Color.red)
} else {
SomeView(showView: $showView1)
.background(Color.green)
}
}
}
}
然后将此变量传递给它的子视图,您可以在其中修改它:
struct SomeView: View {
@Binding var showView: Bool
var body: some View {
Button(action: {
self.showView.toggle()
}) {
Text("Switch View")
}
}
}
如果您想拥有两个以上的视图,您可以将@State var showView1
设为enum
而不是Bool
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.