簡體   English   中英

SwiftUI 從模態視圖使用 NavigationLink 推送視圖

[英]SwiftUI Push View with NavigationLink from modal view

我通過按下“呈現我的模態”按鈕來呈現帶有fullScreenCover的模態視圖:

struct ContentView: View {

    @State var presentMyModal = false

    var body: some View {
        Text("Hello, world!")
            .fullScreenCover(isPresented: $presentMyModal) {
                    MyModalView()
            }
        Button(action: { presentMyModal = true },
               label: { Text("present my modal")})
    }
}

然后我想從這個模式中使用NavigationLink推送一個新視圖:

struct MyAlertView: View {

    @State var pushNavigationLinkedView = false

    var body: some View {
        Text("MyAlertView")
            .padding()
        Button(action: { pushNavigationLinkedView = true },
               label: { Text("push navigation linked view")})

        NavigationLink(destination: NavigationLinkedView(),
                       isActive: $pushNavigationLinkedView) {
            EmptyView()
        }
    }
}

這是我的NavigationLinkedView

struct NavigationLinkedView: View {
    var body: some View {
        Text("NavigationLinkedView")
            .padding()
    }
}

但是當我按下“推送導航鏈接視圖”按鈕時沒有任何反應。

那么蘋果指南是否允許從模態視圖推送帶有NavigationLink的視圖? 如果是,最好的方法是什么?

在 iOS15 和 XCode 13 上測試

那么 Apple 指南是否允許從模態視圖推送帶有NavigationLink的視圖?

是的。 只需確保在MyAlertView的底部有一個NavigationView 模態表創建一個新的視圖層次結構,而NavigationLink僅在上面的層次結構中某處存在NavigationView時才起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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