如何在 Xcode 8.2.1 中从一个标签栏切换到另一个标签栏

How to Switch from one tabbar to another tabbar in Xcode 8.2.1

我想知道如何从一个标签栏切换到另一个标签栏。 这是我的故事板 I have two tab bars in story board But the problem is that I want to switch from My TabBar to MainTabBar

这是我的代码

 let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let MainTabBarController = storyBoard.instantiateViewController(withIdentifier: "MainTabBarController") as! MainTabBarController
        self.present(MainTabBarController , animated: true, completion: nil)

至少这两个标签栏控制器之间必须存在某种关系。 您可以:

  1. 从选项卡栏控制器 2 显示模态选项卡栏控制器 1,并在您想要切换时将其关闭。
  2. 使用 UINavigationController 作为两者的父级,并使用 push 和 pop 在标签栏控制器 1 和 2 之间切换。
  3. 使用 UIPageViewController 作为父级
  4. 使用您自己的客户容器视图控制器作为父级。这种方式是最灵活的,也是最费力气的。

由于问题不同于where this code is taken:

您需要更改 rootViewController

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarcontroller") as! UITabBarController
UIApplication.shared.keyWindow?.rootViewController = viewController

如果上述方法不起作用,请尝试:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let viewController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarcontroller") as! UITabBarController
 let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
 appDelegate.window?.rootViewController = viewController