Swift ios重置viewcontroller层次结构
在storyboard中我的应用程序设计为:
导航VC – > VC1
我想要做的是segue到另一个VC,但重置菜单层次结构,以便我没有旧的VC堆叠在背景中
我想做的是:
导航VC – > VC1 – > VC2 – > 新VC导航重置
因此,当用户登录并进入帐户VC / Page时,应该在访问帐户VC / Page时重置导航堆栈
这可能吗?
如果您不想将视图控制器添加到导航控制器,则导航到的每个View控制器都可以将其设置为导航控制器的根视图控制器,并且不会将其添加到堆栈中。
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) let yourViewController: ViewController = storyboard.instantiateViewControllerWithIdentifier("respectiveIdentifier") as! ViewController let navigationController = self.view.window?.rootViewController as! UINavigationController navigationController.setViewControllers([yourViewController], animated: true)
我的解决方案与上面相同,但少了一行
let yourViewControllerObejct = self.storyboard?.instantiateViewControllerWithIdentifier("YourViewControllerId") as? YourViewController let navigationController = self.view.window?.rootViewController as! UINavigationController navigationController.setViewControllers([yourViewControllerObejct!], animated: true)