Search code examples
objective-ciosuinavigationcontroller

NavigationController Back Skip View


First off, I am aware of this question being asked in a forward manner, but in this case I am asking for a backwards manner in which the Navigation Controller is already designed. With that being said...

I have a UINavigationController with three views: Table, Get, and Avail in that order that was created in IB.

When going forward, I want to go from Table to Get to Avail, but when I hit the "Back" button on Avail I want to skip over Get and go directly back to Table. Is this possible? If so, how?


Solution

  • Here's how I did it:

    NSArray *VCs = [self.navigationController viewControllers];
    [self.navigationController popToViewController:[VCs objectAtIndex:([VCs count] - 2)] animated:YES];
    

    To be able to override the nav controllers's back button you're going to have to subclass UINavigationController. Check out how in this tutorial: http://www.hanspinckaers.com/custom-action-on-back-button-uinavigationcontroller