【问题标题】:How to navigate to another view in NavigationView without NavigationButton in SwiftUI?如何在没有 SwiftUI 中的 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?
【发布时间】:2019-06-12 07:04:17
【问题描述】:

正如问题所说,我想在没有 NavigationButton 的情况下导航到另一个视图,例如 UIkit 中的“pushView”和“popView”

【问题讨论】:

  • 你可以和PresentationButton一起使用
  • 我认为(目前)还没有其他方式来推送/弹出视图
  • PresentationButton 是@Anbu.Karthik 所说的正确答案。
  • 为什么不想使用NavigationButton
  • @Fogmeister 因为我想在按下按钮时向服务器发出请求,并在我得到服务器的响应后导航到下一个视图,但我没有管理如何做到这一点一个 NavigationButton,只有 Button :(

标签: ios swiftui


【解决方案1】:

我认为这更像是一种解决限制的方法,但它对我有用:

添加一个布尔状态变量,用于定义链接是否处于活动状态。例如:

@State private var showLinkTarget = false

像这样添加一个不可见的 NavigationLink:

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

【讨论】:

  • 问题是这个逻辑在我的情况下只工作一次
  • 或者使用 EmptyView 代替 Spacer().fixedSize()
  • 如果它只工作一次,您是否确保在返回时再次将 showLinkTarget 设置为 false?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多