[英]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.