2017-07-09 77 views
1

我有一個基本視圖控制器,就像我的「藍圖」來創建更多的視圖控制器來顯示用戶(註冊/登錄/重置密碼/等)。這個基本視圖控制器有一個容器視圖。在容器視圖中嵌入多個視圖控制器

我有許多小視圖控制器,我想爲我的基本視圖控制器的容器視圖,就像這樣:

enter image description here

如何使用不同的視圖控制器的容器看法?我如何指定我可以在我的容器視圖中使用哪個迷你視圖控制器?我大概可以使用故事板ID /賽格,但我不知道如何。有小費嗎?

+0

你可以用故事板的塞格斯和處理這些塞格斯的名稱來確定會是怎樣的VC在你的容器視圖 –

+0

太感謝多@ReinierMelian。如果你可以用一個SO問題/幾行代碼指向正確的方向,我會非常感激。 – Cesare

+0

一個github的例子會適合你嗎? –

回答

3

你好cesare問題可以通過在baseClass中的containerView來解決,你可以在這裏獲取三個不同的viewControllers。

請找到這些簡單的教程,你可以添加或刪除孩子的viewController編程

 private func add(asChildViewController viewController: UIViewController) { 
      // Add Child View Controller 
      addChildViewController(viewController) 

      // Add Child View as Subview 
      view.addSubview(viewController.view) 

      // Configure Child View 
      viewController.view.frame = view.bounds 
      viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight] 

      // Notify Child View Controller 
      viewController.didMove(toParentViewController: self) 
     } 

     private func remove(asChildViewController viewController: UIViewController) { 
      // Notify Child View Controller 
      viewController.willMove(toParentViewController: nil) 

      // Remove Child View From Superview 
      viewController.view.removeFromSuperview() 

      // Notify Child View Controller 
      viewController.removeFromParentViewController() 
     } 

For reference you can find this github project 

https://github.com/bartjacobs/ManagingViewControllersWithContainerViewControllers/blob/master/ViewControllerContainment/MasterViewController.swift 
+0

謝謝,這很好。現在檢查出來。 – Cesare

2

您只能有一個從容器視圖嵌入segue到另一個視圖控制器。所以最好的方法是你可以有一個視圖控制器顯示動態內容。但是,如果您希望在故事板上具有靜態視圖控制器,則可以執行的操作是將標籤欄控制器嵌入到容器視圖中。您已將所有視圖控制器作爲其中一個選項卡。之後,你需要做的就是先隱藏標籤欄,然後決定使用哪個標籤頁tabBarController.selectedIndex = yourIndex

相關問題