import UIKit class ParentViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } // コンテナビューコントローラに追加 func addViewController(vc: UIViewController){ self.addChildViewController(vc) vc.view.frame = self.view.frame // 子ビューのframe を設定する必要がある self.view.addSubview(vc.view) vc.didMoveToParentViewController(self) } // コンテナビューコントローラから削除 func removeViewController(vc: UIViewController){ vc.willMoveToParentViewController(nil) vc.view.removeFromSuperview() vc.removeFromParentViewController() } }
手順通り追加処理をしないと, contentViewController の viewDidLoad がよばれなかった。
参考
https://developer.apple.com/jp/documentation/ViewControllerPGforiOS.pdf