繁体   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