I'm about to start programming my first iPad app. However, I want to make sure my approach is sound before I begin. I will be using a split view with navigation menus on the left and views on the right. My intent is to use a UINavigationController to handle the views on the right side based on the choices the user makes in the menu. I'm fairly sure I have this worked out code-wise and can handle it. However, my menu on the left will not be one-dimensional. Most items will need to have the primary menu swap out to a second menu when the user chooses them. So I not only need to swap the view on the right, but also switch to the appropriate sub-menu that goes along with that view. For example, when the user chooses Animals in the main menu, the main menu needs to change out and present them with another list of items, say Cats, Dogs, Rabbits. Had they chosen Food in the main menu, that menu would switch out and present them with the choices Pizza, Steak, Popcorn. Each item Cats, Dogs, Rabbits, Pizza, Steak, and Popcorn have unique views that will have to populate the detail view of the split view. Does it make sense to also use a UINavigationController to handle the menus and swap the menus out programatically whenever the view is swapped? Can they track the pushing/pulling of the right-hand navigation controller's views? I've searched the net for tutorials on this and can't seem to find any that use a multi-layer menu on the left of the split view (though I have found good ones that use single level menus). I'm surprised, because many apps I use have a multi-level menu. (Here is one tutorial I found for UINavigationControllers that seems very good assuming my menu had no sub-menus: http://www.matthewcasey.co.uk/2010/05/23/tutorial-introducing-uinavigationcontroller-part-1/) (Note: I have quite a bit of C experience and did some Objective-C Mac OS X programming about 8 years ago, so I'm familiar with XCode. I just don't know how to handle this darned two-level menu I'm planning.) Thanks for your help!