In my design, there are three view controllers in a regular sequence. Yet there is a scenario where I need to skip the second view controller, but then come back to it when the back button is pressed. I tried to push the third view controller with an if statement in the viewDidLoad of the second viewController. I then tried many scenarios in the ViewDidLoad, ViewDidAppear, etc. Each time, the navigation bar at the top got messed up: when I pushed to the third view controller, the nav title and buttons for the second were there, when I went back to the second, the nav title and buttons for the third were there, etc. Each time, the views showed up as expectedl, but just the top bar and buttons were messed up. I thought of calling the third view controller directly from the first, but then I could not get the back button to have it go back to the second. I'd really appreciate some advice on this.