A custom menu implementation with a slide in menu similar to Medium's menu.
Inspired by RBMenu and Medium.
To see how it works, have a look at the Examples folder.
This has not been designed to be dropped into a project as it is, a bit of re-working must be done. I will set it up as an independent component soon.
##Setup
Drag EBMenucontroller & EBMenuItem
from the Drop Menu folder into your project.
Create your menu items.
EBMenuItem *politics = [EBMenuItem initWithTitle:@"Politics" withColourScheme:[UIColor flatEmeraldColor]];
EBMenuItem *culture = [EBMenuItem initWithTitle:@"Culture" withColourScheme:[UIColor flatAlizarinColor]];
EBMenuItem *travel = [EBMenuItem initWithTitle:@"Travel" withColourScheme:[UIColor flatOrangeColor]];
EBMenuItem *nature = [EBMenuItem initWithTitle:@"Nature" withColourScheme:[UIColor flatWisteriaColor]];
For each menu item, there is a corresponding completionBlock that gets called when the menu is tapped. Also, we are using completion block to lazy load view controllers.
PoliticsViewController *politicsInitialView = [storyBoard instantiateViewControllerWithIdentifier:@"Politics"];
politicsInitialView.menuItem = politics;
self.viewControllers = @[politicsInitialView];
politics.completionBlock = ^{
self.viewControllers = @[politicsInitialView];
};
Note, that the implementation in the example happens inside a custom UINavigationController
, this doesn't have to be case with everyone. You can easily setup the menu items in the delegate and instead of adding the viewcontrollers to self.viewcontrollers you'll do it in `self.navigationcontroller.viewcontrollers'
#FAQ
-
Does it support storyboards?
YES -
Can I have more than 4 menu items
YES, but this isn't tested, you might need to modify
menuHeight
constant inEBMenuController.m
to make it all fit. -
Does it support iPad?
Yes, maybe, its not been tested, but there is no reason it shouldn't work
If you get to use it, please let me know on Twitter
##AUTHOR
This component has been lovingly crafted by Edwin B
##LICENSE