GithubHelp home page GithubHelp logo

slidemenu3d's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.