addChild(childController: UIViewController)
を使うとUIViewControllerの階下にUIViewControllerを持たせることができます。UI部品を配置するためのaddSubView()
と違いaddChild()
はUIViewControllerそのものを重ねることができます。
ソースコード
親となるViewControllerではaddChild()
だけでなくaddSubview()
も呼ばないと階層関係になっていることを確認できなかった。
ParentViewController
class ParentViewController: UIViewController {
override func viewDidLoad() {
let childVC = ChildViewController()
super.viewDidLoad()
view.backgroundColor = .red
view.addSubview(childVC.view)
addChild(childVC)
childVC.didMove(toParent: self)
}
}
class ChildViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .blue
}
}