我有一个带有两个视图控制器的导航控制器,第一个vc是login,第二个vc包含一些有关tableView的信息。从第二个vc它将导航到选项卡控制器(选项卡栏中的所有视图控制器都嵌入到导航控制器中)。现在,当我单击第一个选项卡时,它应该回到第二个vc。我尝试过解雇,但无法正常工作。请说明一下。
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(tabBar.items?.index(of: item))")
if tabBar.items?.index(of: item) == 0{
self.dismiss(animated: true, completion: nil)
}
}
答案 0 :(得分:0)
有多种方法可以解决您的问题,但是我想说它们都不是最新技术,因为TabbarController中的每个Tab都应具有自己的NavigationController。 :)
也许这种方式对您有用:
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(tabBar.items?.index(of: item))")
if tabBar.items?.index(of: item) == 0 {
let vc = YourSecondViewController() //or get it from your Storyboard
self.navigationController.setViewControllers([vc], animated: true)
}
}
更新
或者,如果您按了控制器,则可以尝试这个
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(tabBar.items?.index(of: item))")
if tabBar.items?.index(of: item) == 0 {
self.navigationcontroller.popToRootViewController(animated: true)
}
}