We know how to embed a ViewController in a NavigationController in Storyboard. However, I came across a scenario where I had to initiate it programmatically. The code:
let viewController = MyViewController() let nav = UINavigationController(rootViewController: viewController) self.navigationController?.present(nav, animated: true, completion: nil)
Hello, where do you put this code? I tried in the viewDidLoad() but i get a error saying the view is not in the hierarchy ?
LikeLike
It depends on which view it is referring to. It should work in the viewDidLoad().
You can check two of the following:
1. That MyViewController is a valid controller in your code. It is just used as an example here.
2. Check that the presenting controller actually exists – that self.navigationController is not null.
Hope that helps✌️
LikeLike