2016-12-14 4 views
1

Я установил UITabBarController в AppDelegate, и я установил корневой вид на объект панели вкладок. Но мне нужно установить корневой вид на другой контроллер представления, не теряя функциональности панели вкладок. Как я могу это достичь?Как установить rootview в viewcontroller, когда я установил Tabbar в appdelegate swift?

let vc1 = ConstituencyViewController() 
    //vc1.view.backgroundColor = UIColor.orange 
    vc1.tabBarItem.title = "Search" 
    vc1.tabBarItem.image = UIImage(named: "Search") 

    // Set up the second View Controller 
    let vc2 = ConstDetailViewController() 
    //vc2.view.backgroundColor = UIColor.purple 
    vc2.tabBarItem.title = "User" 
    vc2.tabBarItem.image = UIImage(named: "Street View") 

    // Set up the Tab Bar Controller to have two tabs 
    let tabBarController = UITabBarController() 

    tabBarController.viewControllers = [vc1, vc2] 

    // Make the Tab Bar Controller the root view controller 
    window?.rootViewController = tabBarController 
    window?.makeKeyAndVisible() 
+0

Что вы имеете в виду без потери функциональных возможностей панели вкладок ??? –

+0

@VishalSonawane Я имею в виду, что из viewcontroller, который я устанавливаю в корневом каталоге, вы будете направлять viewcontroller в панель. Итак, как я настрою корневой вид.? –

+0

Будете ли вы использовать TabbarController и другой VC? –

ответ

0
let appDelegate = UIApplication.shared.delegate as! AppDelegate 

    let vc1 = ConstDetailViewController() 
      //vc1.view.backgroundColor = UIColor.orange 
      vc1.tabBarItem.title = "Search" 
      vc1.tabBarItem.image = UIImage(named: "Search") 

    let vc2 = OptionsViewController() 

    vc2.tabBarItem.title = "Search" 
    vc2.tabBarItem.image = UIImage(named: "Street View") 

      // Set up the second View Controller 

      //vc2.view.backgroundColor = UIColor.purple 

      // Set up the Tab Bar Controller to have two tabs 
      let tabBarController = UITabBarController() 

      tabBarController.viewControllers = [vc1,vc2] 
    appDelegate.window?.rootViewController = tabBarController 
    appDelegate.window?.makeKeyAndVisible() 
+0

Я получил это сообщение об ошибке при попытке вашего решения: «В окне приложения ожидается, что в конце запуска приложения будет контроллер корневого представления» –

+0

Я обновил свой ответ, пожалуйста, проверьте Это. –

+0

Я использовал приведенный выше код в вашем разделе комментариев. Я использовал его в действии кнопки. Кажется, работает. Пожалуйста, проверьте –