I don't much care for Facebook, however, I believe they did a great job on their mobile application. One of the features I find particularly well crafted is the slide-out navigation. If you're not sure what I'm talking about I am referring to the ability to reach the navigation menu just by swiping your finger to the right on the application title bar. You're also capable of reaching the same menu if you click on the three bar button in the upper left corner. If you're still confused check out this link for a detailed description. Regardless, it's a great feature and unfortunately I was not able to find any MonoTouch ports! Enter, MonoTouch.SlideoutNavigation.
When I first started my search I stumbled upon Nick Harris' implementation of a slide-out navigation controller developed in Objective-C. It was an excellent start, however, it lacked a few features I wanted. First, I wanted it in C#. Secondly, I when the slide-out action occurred I didn't want it to slide-out the photo representation of the previous view, I wanted it to slide-out the actual UI layer.
In addition to Nick's implementation, I found a few useful concepts from this StackOverflow article. While these implemented a real layer slide-out - as opposed to the view screenshot layout - it was still missing that important feature: C#!
I'm not going to bother posting code here since you can find it here and attempting to walk through it piece by piece would take a while and I'm not sure I'd be able to explain it better than just viewing the code would.
Checkout the video of the MonoTouch.SlideoutNavigation project in it's prime below:
Here's a few screenshots for your viewing pleasure:
Check out the source for the MonoTouch.SlideoutNavigation library and a sample application here: https://bitbucket.org/thedillonb/monotouch.slideoutnavigation/