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.
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
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;
[self.slideMenuVC setEnablePan:true];
[self.slideMenuVC setEnablePan:false];
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}
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
You can set the distance for the open menu (thanks @andres-ciano)
self.sideMenu3D.distanceOpenMenu = 100.0f;
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 of menu by Steven Kuiper https://www.iconfinder.com/Verzint
@hunk, [email protected]
SlideMenu3D is available under the MIT license. See the LICENSE file for more info.