如何在应用程序委托的视图层次结构中推送/显示视图控制器并保留导航结构

时间:2015-11-20 07:38:08

标签: ios swift

我的应用程序中有这个视图层次结构。

enter image description here

标签栏=>第1项是嵌入在导航控制器中的集合视图。 第2项是拆分视图控制器

拆分视图控制器=>嵌入在导航控制器中的主(表视图控制器)。 详细信息(表视图控制器[目标])嵌入在导航控制器中并具有子表视图控制器

基于接收推送通知,我想在视图层次结构中显示[目标]表视图控制器(如图中所示),并保持相同的视图结构/ hierarchy,以便用户可以在整个应用程序中导航。所以诀窍 window?.rootViewController = targetViewController并不好。

我添加了以下代码,但它崩溃了应用程序并显示错误'尝试弹出到不存在的视图控制器'。

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let targetController = storyboard.instantiateViewControllerWithIdentifier("targetController") as! TargetTableViewController
let tabBarController = window!.rootViewController as! UITabBarController
let splitController = tabBarController.viewControllers!.last as! UISplitViewController
let navController2 = splitController.viewControllers.last as! UINavigationController

navController2.popToViewController(targetController, animated: true)

0 个答案:

没有答案