title: How to add a navigation controller programmatically in code but not as initial view controller
body: <p>I am relatively new to swift and iOS and can't find an answer or any help for my problem that works.</p>
  
  <p>I want to create a navigation controller view when I click on a button in my previous view. My previous view is an on-boarding with a button on the last page. I successfully connected the button to my next view but I am not able to make the view act like a navigation controller. For example, when a navigation bar is displayed, I am not able to add navigation items to it.</p>
  
  <p>Is there a way to set the new view I create by clicking my button in the first view to be the root controller for my navigation view?</p>
  
  <p>A short version of my code:</p>
  
  <pre><code>class ViewController: UIViewController {
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          let button = UIButton(frame: CGRect(x: view.frame.width / 2, y: view.frame.height / 2, width: 40, height: 40))
          button.backgroundColor = .red
          button.tintColor = .white
          button.setTitle("Test", for: .normal)
          button.addTarget(self, action: #selector(change), for: .touchUpInside)
          view.addSubview(button)
      }
  
      func change () {
          let otherView = SecondViewController()
          self.present(otherView, animated: true, completion: nil)
      }
  
  }
  
  class SecondViewController: UINavigationController {
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          view.backgroundColor = .yellow
      }
  
  }
  </code></pre>
  
  <p>The SecondViewController gets displayed with a navigation bar but I had problems implementing navigation items, because they weren't shown.</p>
  
  <p>Does the second view controller I present have to be of type UIViewController or UINavigationController?</p>
  
  <p>I am aware that there are easier ways to achieve my goal with the use of the storyboard but in my opinion I understand it better by making my own references via code instead of creating them by dragging them out of the storyboard.</p>
  
  <p>Edit: I have no Objective-C background and learning Swift for about 4 weeks now.</p>