当我尝试呈现视图时,我收到此警告“尝试呈现其视图不在窗口层次结构中的ViewController”

时间:2016-05-23 07:19:42

标签: ios swift warnings modalviewcontroller

我的视图层次结构如下图所示:enter image description here

我的问题是当我点击VC3上的任何按钮时我想显示VC1。这是我的代码

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("registerNavigation")
self.presentViewController(vc, animated: false, completion: nil)

但我得到了这个警告“警告:尝试呈现其视图不在窗口层次结构中的ViewController”并且没有任何反应。请告诉我,我做错了什么?

2 个答案:

答案 0 :(得分:2)

如果要从VC3显示VC1,则不需要再次显示它,因为它已经加载到导航堆栈中。你需要从导航堆栈dismiss or pop VC3和VC2。如果你已经提出它然后解雇,如果你推了它然后弹出它。

您的警告的含义:您正在尝试呈现哪个位于导航控制器1的视图层次结构中,但不在导航控制器2的视图层次结构中。!!

希望这会有所帮助:)

答案 1 :(得分:0)

您正在向navigationController展示,因此请使用如下代码。

let VC1 = self.storyboard!.instantiateViewControllerWithIdentifier("registerNavigation") as! ViewController
let navController = UINavigationController(rootViewController: VC1)
self.presentViewController(navController, animated:true, completion: nil)