let firstVC = self.storyboard?.instantiateViewController(withIdentifier: "FirstViewController") as! FirstViewController
let secondVC = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
// Get a reference the the Master View nav controller
let masterNav = self.splitViewController!.viewControllers[0] as! UINavigationController
// Set desired VC's as nav stack RootViewControllers
self.navigationController?.setViewControllers([matchVC], animated: true)
masterNav.setViewControllers([masterMatchTableView], animated: true)
1 回答
你的
UISplitViewController
是根视图控制器吗?如果没有,它会表现出奇怪的行为 . 每个Apple:我已经使用了这个(从详细信息视图控制器调用,使用带有两个导航控制器的拆分视图控制器 . )此时我想重置导航堆栈:
如果要维护导航堆栈,可以在两个导航控制器上调用
.pushViewController
.如果您还在处理此问题,请发布一些代码,我很乐意看一下 .
编辑:
因此,您无法以模态方式呈现拆分视图控制器:https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/SplitViewControllers.html
我上面发布的代码段将同时显示主视图和详细视图 . 或者,您可以将新VC显示为详细信息视图,并将
UISplitViewController.preferredDisplayMode = .primaryHidden
设置为以模态方式显示单个VC .