• Stars
    star
    207
  • Rank 189,769 (Top 4 %)
  • Language
    Objective-C
  • License
    Other
  • Created over 11 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

HMSideMenu

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.

screenshot

Features

  • Menu items are UIView subclasses, so they are fully customizable.
  • Supports blocks
  • Works with ARC and iOS >= 5

Installation

  • Drag HMSideMenu folder to your project.
  • Add QuartzCore.framework to your linked frameworks.
  • #import "HMSideMenu.h" where you want to add the control.

Usage

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.

Change log

  • v1.1.1
    • Removed HMSideMenuItem. Control is now initialized with an array of UIView objects. To set action block use [UIView setMenuActionWithBlock:]
  • v1.1.0
    • Added left, top and bottom menu positions
    • Code refactoring
  • v1.0.0
    • Initial release

To do

  • Support for orientation changes.

Credits

Thanks to @bryanoltman's CAAnimation-EasingEquations for the animation easing function.

License

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.

@HeshamMegid
http://hesh.am