![StoryBoard](https://i.stack.imgur.com/dsRWR.png)
ContainerViewController.swift
import UIKit
class ContainerViewController: UIViewController {
@IBOutlet weak var containerView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func btnOne(_ sender: Any) {
containerView.subviews.forEach { $0.removeFromSuperview() } // removes the old if have
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "NavigationOneViewControllerID") as! NavigationOneViewController
addChildView(viewController: nextViewController, in: containerView)
}
@IBAction func btnTwo(_ sender: Any) {
containerView.subviews.forEach { $0.removeFromSuperview() } // removes the old if have
}
@IBAction func btnThree(_ sender: Any) {
containerView.subviews.forEach { $0.removeFromSuperview() } // removes the old if have
}
private func addChildView(viewController: UIViewController, in DisView: UIView) {
viewController.view.autoresizingMask = [.flexibleHeight, .flexibleWidth]
viewController.view.frame = DisView.bounds
addChild(viewController)
DisView.addSubview(viewController.view)
viewController.didMove(toParent: self)
}
}
NavigationOneViewController.swift
import UIKit
class NavigationOneViewController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
ContainerSubOneViewController.swift
import UIKit
class ContainerSubOneViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func nxtClk(_ sender: Any) {
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "ContainerSubTwoViewControllerID") as! ContainerSubTwoViewController
self.navigationController?.pushViewController(nextViewController, animated: true)
}
}
ContainerSubTwoViewController.swift
import UIKit
class ContainerSubTwoViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
Установите для верхней панели navigationOneViewController значение «Нет» в раскадровке.