如何在没有 SwiftUI 中的 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?
Posted
技术标签:
【中文标题】如何在没有 SwiftUI 中的 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?【英文标题】:How to navigate to another view in NavigationView without NavigationButton in SwiftUI? 【发布时间】:2019-06-12 07:04:17 【问题描述】:正如问题所说,我想在没有 NavigationButton 的情况下导航到另一个视图,例如 UIkit 中的“pushView”和“popView”
【问题讨论】:
你可以和PresentationButton
一起使用
我认为(目前)还没有其他方式来推送/弹出视图
PresentationButton
是@Anbu.Karthik 所说的正确答案。
为什么不想使用NavigationButton
?
@Fogmeister 因为我想在按下按钮时向服务器发出请求,并在我得到服务器的响应后导航到下一个视图,但我没有管理如何做到这一点一个 NavigationButton,只有 Button :(
【参考方案1】:
我认为这更像是一种解决限制的方法,但它对我有用:
添加一个布尔状态变量,用于定义链接是否处于活动状态。例如:
@State private var showLinkTarget = false
像这样添加一个不可见的 NavigationLink:
NavigationLink(destination: LinkTargetView(), isActive: self.$showLinkTarget )
Spacer().fixedSize()
【讨论】:
问题是这个逻辑在我的情况下只工作一次 或者使用 EmptyView 代替 Spacer().fixedSize() 如果它只工作一次,您是否确保在返回时再次将 showLinkTarget 设置为 false?以上是关于如何在没有 SwiftUI 中的 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 SwiftUI 中的 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?