在故事板之间保持导航控制器(swift)
Posted
技术标签:
【中文标题】在故事板之间保持导航控制器(swift)【英文标题】:Keeping navigation controller between storyboards (swift) 【发布时间】:2015-06-15 20:48:25 【问题描述】:我正在创建一个包含多个故事板的应用。现在,我可以从第一个故事板过渡到第二个故事板,但是当我过渡到第二个故事板时,我失去了导航控制器。但是,我仍然需要导航回第一个情节提要并希望使用相同的控制器。有谁知道如何在故事板之间保留我的导航控制器?
以下是我过渡到第二个故事板的方式。 pushViewController 是我尝试添加到导航堆栈,但它不起作用。
let destination = UIStoryboard(name: "Preferences", bundle: nil)
let initialViewController = destination.instantiateInitialViewController() as! UIViewController
self.navigationController?.pushViewController(initialViewController, animated: true)
self.presentViewController(initialViewController, animated: true, completion: nil)
【问题讨论】:
【参考方案1】:我认为你只是添加了冗余代码。 删除
self.presentViewController(initialViewController, animated: true, completion: nil)
此代码将显示不在导航容器中的视图。此代码使
self.navigationController?.pushViewController
不工作。
所以只需使用
let destination = UIStoryboard(name: "Preferences", bundle: nil)
let initialViewController = destination.instantiateInitialViewController() as! UIViewController
self.navigationController?.pushViewController(initialViewController, animated: true)
【讨论】:
您对代码重复是正确的。虽然事实证明我的问题是 self.navigationController 返回 nil 因为我没有正确嵌入它。感谢您的回答!以上是关于在故事板之间保持导航控制器(swift)的主要内容,如果未能解决你的问题,请参考以下文章
在不使用故事板中的导航控制器的情况下在 UIViewController 之间切换的最佳方法是啥?