【问题标题】:Unwind segue through navigation controller通过导航控制器展开 segue
【发布时间】:2020-03-20 15:36:06
【问题描述】:

我希望“已保存位置”上的后退按钮可以放松到“第二视图控制器”,但不确定我是否必须做任何不同的事情,因为它嵌入在导航控制器中。我已经将后退按钮链接到情节提要中的展开功能。 (ViewController 是“保存的位置”)。目前,当点击返回按钮时,没有任何反应。

下面的代码在 SecondViewController.swift 文件中

@IBAction func fromView(segue: UIStoryboardSegue){
    if let sourceViewController = segue.source as? ViewController{
        print("hi")
    }
}

【问题讨论】:

  • 您的 SecondViewController 是否也在 navigationCONtroller 中?
  • 不,不是。只有 ViewController('Saved Locations') 在导航控制器中
  • 将您的 secondViewController 保留在 navigationcontroller 中并从保存的位置中删除

标签: swift xcode


【解决方案1】:

Segues 在 push/modal 和 popover segues 的上下文中工作。您的 SavedLocations 控制器嵌入在 UINavigationViewController 中,但 SecondViewController 不是同一容器的子级。实际上,您如何从情节提要屏幕截图中将用户带到SavedLocations 并不是很清楚,但我想建议将两个控制器尽可能嵌入同一个导航控制器下。这是最简单、最干净的方式,因为您甚至根本不需要手动处理 unwind seagues。 “普通”导航会自动为您向后处理(除非您想一次性弹出多个控制器)

【讨论】:

    猜你喜欢
    • 2016-07-25
    • 2015-06-22
    • 2015-11-26
    • 1970-01-01
    • 2018-10-14
    • 2019-01-21
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多