如何在Tab Bar控制器中嵌入Split View控制器?

Leo*_*eda 1 xcode uitabbarcontroller ipad uisplitviewcontroller ios

我开始使用Master-Detail应用程序,然后去了iPhone storyboard,选择了它NavigationController并转到了Editor > Embed In > TabBarController并且它运行得很好.当我试图在iPad中 执行相同操作时,storyboardEmbed in TabBarController菜单项被禁用.我应该手动完成吗?

小智 6

  1. 通过xcode创建样本Master/Detail
  2. 在故事板上拖动tabViewController
  3. 将TabViewController更改为初始视图控制器.
  4. 控制从TabViewController拖动到SplitViewControler
  5. 在故事板中为SplitViewControler分配标题(我使用"Master"
  6. 在app delegate中,替换对splitViewController的引用,如下所示.

    let tabBarViewController = self.window!.rootViewController as! UITabBarController
    print(tabBarViewController.viewControllers?.count)
    var splitViewController:UISplitViewController? = nil
    for viewController in tabBarViewController.viewControllers! {
        if viewController.title == "Master" {
            splitViewController = viewController as? UISplitViewController
        }
    }
    
    let navigationController = splitViewController!.viewControllers[splitViewController!.viewControllers.count-1] as! UINavigationController
    navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController!.displayModeButtonItem()
    splitViewController!.delegate = self
    
    Run Code Online (Sandbox Code Playgroud)