我不知道如何在带有按钮的视图之间导航。
我在网上找到的唯一一件事是细节视图,但是我不希望在左上角有一个后退按钮。我希望通过两个按钮连接两个独立的视图,一个在第一个按钮上,另一个在第二个按钮上。
此外,如果要删除第二个视图上的按钮,则应该停留在该位置,唯一的选择是返回到第一个视图会使应用崩溃。
在情节提要中,我只需要创建一个带有动作TouchUpInSide()
的按钮,然后指向首选的视图控制器即可。
您还习惯于使用故事板时,进入SwiftUI是否值得?
答案 0 :(得分:1)
解决方案之一是在主视图中使用@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
。