收到推送通知时,我正在尝试导航到表格视图控制器(ReportTVC
)。我的故事板中视图控制器的层次结构如下所示。
TabBarController - >导航控制器(故事板ID:CasesNavController) - > TableViewController(CasesTVC
) - > TableViewController(CaseSummaryTVC
) - > TableViewController(ReportTVC
)
导航控制器正在按预期显示ReportTVC
,但是当我导航回到CasesTVC时,我应该有一个带有标签的TabBar,但是缺少。< / p>
有人可以告诉我如何解决这个问题吗?
在AppDelegate.swift中:
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let navController = mainStoryboard.instantiateViewController as! UINavigationController
let reportTVC = mainStoryboard.instantiateViewController(withIdentifier: "ReportTVC") as! ReportTVC
reportTVC.obtainDoctorReport = true
reportTVC.caseId = caseId
navController.pushViewController(reportTVC, animated: true)
self.window?.rootViewController = navController
self.window?.makeKeyAndVisible()
答案 0 :(得分:0)
这里的问题是你将NavigationController设置为rootViewController,你需要将TabBarController设置为root。
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let navController = mainStoryboard.instantiateViewController(withIdentifier: "Nav") as! UINavigationController
let tabController = mainStoryboard.instantiateViewController(withIdentifier: "Tab") as! UITabBarController
let reportTVC = mainStoryboard.instantiateViewController(withIdentifier: "ReportTVC") as! ReportTVC
reportTVC.obtainDoctorReport = true
reportTVC.caseId = caseId
navController.pushViewController(reportTVC, animated: true)
tabController.setViewControllers([navController], animated: false)
self.window?.rootViewController = tabController
self.window?.makeKeyAndVisible()
你不应该忘记你还需要在TabBarViewController中添加其他ViewControllers。