I’ve noticed a number of apps switching to the following User Interface format as a means to maximize the amount of space available to the user’s currently selected view controller and also elegantly display a list of options/view controllers for the user to choose from.
Example – The YouTube app:

I am hoping for suggestions on how to emulate this style of “menu” /UI – Specific examples/tutorials would be awesome, but I’d also be grateful for suggestions on what general direction I should be working towards
Here’s what I have broken this down to so far:
- Bar Button item in UINavigationController when tapped loads a container
- The container has a UITableView in it.
- When a row is tapped, this somehow affects the “main” view controller that the user sees – i.e. The view controller that is currently on screen becomes the one that the user just tapped.
I am unsure if:
- The above breakdown is correct?
- How to create the nice slide in transition that one gets when they tap the left bar button item in the navigation controller
- How to then make the view controller (I am assuming of course that I would tie each row in the “menu” to a specific view controller) the “main” view controller on screen.
Thank you in advance for your time!
P.S. I intend to target iOS 6.0
There are several open-source controls on github:
https://github.com/pkluz/PKRevealController
https://github.com/gotosleep/JASidePanels
https://github.com/Inferis/ViewDeck
I don’t think it worths to spend time and re-invent the wheel :).