【问题标题】:How to Switch from one tabbar to another tabbar in Xcode 8.2.1如何在 Xcode 8.2.1 中从一个标签栏切换到另一个标签栏
【发布时间】:2017-02-14 06:40:02
【问题描述】:

我想知道如何从一个标签栏切换到另一个标签栏。 这是我的故事板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)

【问题讨论】:

  • 要切换新标签栏还是新标签?
  • 不,我有两个标签栏,您可以在此链接中看到图片ibb.co/gRuqDv
  • ok,图中有2个标签栏,左边(一个标签)和右边(5个标签),你想从哪个标签栏切换另一个标签栏?
  • 从第一个标签栏(一个标签)到(5个标签)
  • 提供一些细节,说明您希望何时显示另一个 tabBarController

标签: ios swift3 uitabbarcontroller tabbarcontroller


【解决方案1】:

由于问题与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 

【讨论】:

  • 这些页面类不是视图控制器,它们是 UITabBarController
  • @SaeedRahmatolahi 你没看到 !代码中的UITabBarController
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2017-12-23
    • 2012-10-09
    相关资源
    最近更新 更多