我有一个带有5个标签的应用程序(以及一个UITabBarController)。我有更多的视图控制器,当用户点击按钮等时可以显示。现在我正在尝试在第一个选项卡中推送视图控制器。当我使用下面的代码时,新的视图控制器完全替换标签栏和前一个视图控制器,因此显示的唯一视图控制器是新的,并且无法返回。这是我的代码:
@objc func openSettingsPage() {
let vc = UIStoryboard(name: "SettingsPage", bundle: nil).instantiateViewController(withIdentifier: "Settings") as! SettingsViewController
self.tabBarController?.show(vc, sender: self)
} 我也试过了:
let vc = UIStoryboard(name: "SettingsPage", bundle: nil).instantiateViewController(withIdentifier: "Settings") as! SettingsViewController
self.navigationController?.pushViewController(vc, animated: true)
这样做没有任何反应。尝试打印(self.navigationcontroller)打印“nil”所以显然它找不到导航控制器,即使我正在编写代码的视图控制器嵌入在导航控制器中
答案 0 :(得分:0)
如果要在Tabbar Controller中切换选项卡,请使用Tabbar.selectedIndex =(要选择的选项卡的索引)
我认为您要做的是将视图控制器推到堆栈上,但是您在标签栏上显示它。 使用此 - >
self.navigationController.push(viewController: (your view controller), animated: true)