[英]How to push a new root view using SwiftUI without 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.