簡體   English   中英

SwiftUI 視圖之間的導航

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM