• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 9 years ago
  • Updated almost 9 years ago

Reviews

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

Repository Details

A small class for lateral menu with 3D effect

SlideMenu3D

CI Status Version License Platform

A small class for lateral menu with 3D effect, support tap gesture when el menu is open and tap gesture all time, support device orientation. you can choose the side for the menu.

Video

Installation

SlideMenu3D is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SlideMenu3D"

Or download the project and export HKSlideMenu3DController.{h/m} in your project

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Import HKSlideMenu3DController class in you view

#import <HKSlideMenu3DController.h>

retain the class

@property (strong, nonatomic)  HKSlideMenu3DController *slideMenuVC;`

now init the class y set UIViewControlls for menu y center view

self.slideMenuVC = [[HKSlideMenu3DController alloc] init];
self.slideMenuVC.view.frame =  [[UIScreen mainScreen] bounds];
self.slideMenuVC.menuViewController = myMenuViewController;
self.slideMenuVC.mainViewController = myMianViewController;

also you can set background image

self.slideMenuVC.backgroundImage = [UIImage imageNamed:@"cloud"];

you can change the contentMode for the image

self.slideMenuVC.backgroundImageContentMode = UIViewContentModeTopLeft;

for open and close menu call toogleMenu, this function determines the current state of the menu

[self.slideMenuVC toggleMenu];

for replace the mainView, only need set a new UIViewController

self.slideMenuVC.mainViewController = anotherViewController;

Enable/disable Pan Gesture Recognizer

[self.slideMenuVC setEnablePan:true];
[self.slideMenuVC setEnablePan:false];

Delegate Methods

SlideMenu3D have some methods for tell you when the menu move ( will | did ) ( open | close ), these methods are:

-(void)willOpenMenu;
-(void)didOpenMenu;
-(void)willCloseMenu;
-(void)didCloseMenu;

add HKSlideMenu3DControllerDelegate in you controller and set delegate

self.slideMenuVC.delegate = self;

note: if you need more detail check HKAppDelegate.m and HKMenuView.{h/m}

Menu in right side

in the version 0.1.5 i added support for Menu show in right side, you only have to set me side for the menu.

self.sideMenu3D = MenuLeft;
self.sideMenu3D = MenuRight;

The example code has a button who change the side the menu

Menu in left side

Menu in right side

Distance open menu

You can set the distance for the open menu (thanks @andres-ciano)

self.sideMenu3D.distanceOpenMenu = 100.0f;

Notes

After version 0.1.2, we add hierarchy for containerโ€™s view, the rotation depends of you mainViewController.

set you orientations in your UIViewController example:

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskPortrait;
}

if you need force rotate for specific UIViewController check HKAppDelegate.m method setSecondView

if you mainViewController is a UINavigationController and you want your UIViewController handle the rotation values, you must create a subclass of UINavigationController just like HKRotationNavigationController in example project

Images

images of menu by Steven Kuiper https://www.iconfinder.com/Verzint

Author

@hunk, [email protected]

License

SlideMenu3D is available under the MIT license. See the LICENSE file for more info.