HMSideMenu allows you to display a menu of items that show from the left, right, top or bottom of a view controller with a delightful animation.
Check this video to see it in action.
- Menu items are UIView subclasses, so they are fully customizable.
- Supports blocks
- Works with ARC and iOS >= 5
- Drag HMSideMenu folder to your project.
- Add
QuartzCore.framework
to your linked frameworks. #import "HMSideMenu.h"
where you want to add the control.
UIView *twitterItem = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
[twitterItem setMenuActionWithBlock:^{
NSLog(@"tapped twitter item");
}];
UIImageView *twitterIcon = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
[twitterIcon setImage:[UIImage imageNamed:@"twitter"]];
[twitterItem addSubview:twitterIcon];
HMSideMenu *sideMenu = [[HMSideMenu alloc] initWithItems:@[twitterItem]];
[self.sideMenu setVerticalSpacing:1.0f];
[self.view addSubview:self.sideMenu];
Please check the included demo project for more options.
- v1.1.1
- Removed HMSideMenuItem. Control is now initialized with an array of UIView objects. To set action block use
[UIView setMenuActionWithBlock:]
- Removed HMSideMenuItem. Control is now initialized with an array of UIView objects. To set action block use
- v1.1.0
- Added left, top and bottom menu positions
- Code refactoring
- v1.0.0
- Initial release
- Support for orientation changes.
Thanks to @bryanoltman's CAAnimation-EasingEquations for the animation easing function.
HMSideMenu is licensed under the terms of the MIT License. Please see the LICENSE file for full details.
If this code was helpful, I would love to hear from you.