簡體   English   中英

如何在 SwiftUI 中沒有 NavigationButton 的情況下導航到 NavigationView 中的另一個視圖?

[英]How to navigate to another view in NavigationView without NavigationButton in SwiftUI?

正如問題所說,我想在沒有 NavigationButton 的情況下導航到另一個視圖,例如 UIkit 中的“pushView”和“popView”

我認為這更像是一種限制的解決方法,但它對我有用:

添加一個布爾狀態變量,用於定義鏈接是否處於活動狀態。 例如:

@State private var showLinkTarget = false

添加一個不可見的 NavigationLink,如下所示:

NavigationLink(destination: LinkTargetView(), isActive: self.$showLinkTarget ) {
   Spacer().fixedSize() 
}

SwiftUI的PresentationButton用於以模態形式在現有視圖控制器上呈現新的視圖控制器,例如在UIViewController上調用present()

注意在Xcode 11.0 beta 3中 PresentationButton已重命名為PresentationLink

PresentationLink

例如,如果您具有下一個這樣的下一個視圖:

struct NextView: View {
var body: some View {
    Text("NextView")
}
}

然后,您可以像這樣顯示它:

struct ContentView : View {
var body: some View {
    PresentationButton(Text("Navigate to another View"), destination: NextView())
}
}

除非有導航按鈕,否則演示按鈕不需要導航視圖即可工作。

參考目的我從這里得到答案

暫無
暫無

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

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