There is a great library for this by Tom Adriaenssen: Inferis/ViewDeck
It’s very easy to use and has a fairly large following.
EDIT:
For something a little more lightweight, check out: mutualmobile/MMDrawerController
It doesn’t have all of the features of ViewDeck but is simpler to modify and extend.