Hamburger menus are traditionally an Android thing, but often a client wants Android and iOS to look the same, and sometimes that means iOS implements a Hamburger menu. There are many different ways to skin this cat. I think the simplest and best way is with a custom transition and a normal push segue over the current context. I’ll show you what I mean.
Create a MenuViewController with a sidebar, whatever buttons you want, and a background view constrained far offscreen to the right. Set that background view to be black and alpha 0, and then connect an @IBOutlet. As the push segue happens and we fade in the background, we want the “fade view” to cover the entire width.
Connect a UITapGestureRecognizer to the BackgroundView with an @IBAction to close.
Create a SocialViewController with a button connected to an @IBAction.
In the @IBAction instantiate MenuViewController and set transitioningDelegate to self.
Conform to UIViewControllerTransitioningDelegate and add a SlideOverAnimator().