/LGSideMenuController

iOS side menu view controller shows left and right views on top of everything by pressing button or gesture

Primary LanguageObjective-CMIT LicenseMIT

LGSideMenuController

iOS view controller shows left and right views on top of everything by pressing button or gesture.

Preview

Installation

With source code

Download repository, then add LGSideMenuController directory to your project.

With CocoaPods

CocoaPods is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries in your projects. To install with cocoaPods, follow the "Get Started" section on CocoaPods.

Podfile

platform :ios, '6.0'
pod 'LGSideMenuController', '~> 1.0.0'

With Carthage

Carthage is a lightweight dependency manager for Swift and Objective-C. It leverages CocoaTouch modules and is less invasive than CocoaPods. To install with carthage, follow the instruction on Carthage.

Cartfile

github "Friend-LGA/LGSideMenuController" ~> 1.0.0

Usage

In the source files where you need to use the library, import the header file:

#import "LGSideMenuController.h"

Initialization

- (instancetype)initWithRootViewController:(UIViewController *)rootViewController;

Setup

To enable left or right or both views call:

- (void)setLeftViewEnabledWithWidth:(CGFloat)width
                  presentationStyle:(LGSideMenuPresentationStyle)presentationStyle
               alwaysVisibleOptions:(LGSideMenuAlwaysVisibleOptions)alwaysVisibleOptions;   // for example you can make view always visible on ipad landscape orientation

- (void)setRightViewEnabledWithWidth:(CGFloat)width
                   presentationStyle:(LGSideMenuPresentationStyle)presentationStyle
                alwaysVisibleOptions:(LGSideMenuAlwaysVisibleOptions)alwaysVisibleOptions;  // for example you can make view always visible on ipad landscape orientation

Quick Example

ViewController *viewController = [ViewController new];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];

LGSideMenuController *sideMenuController = [[LGSideMenuController alloc] initWithRootViewController:navigationController];

[sideMenuController setLeftViewEnabledWithWidth:250.f
                              presentationStyle:LGSideMenuPresentationStyleScaleFromBig
                           alwaysVisibleOptions:0];

TableViewController *leftViewController = [TableViewController new];

[sideMenuController.leftView addSubview:leftViewController.tableView];

Notifications

Here is also some notifications, that you can add to NSNotificationsCenter:

kLGSideMenuControllerWillShowLeftViewNotification;
kLGSideMenuControllerWillDismissLeftViewNotification;
kLGSideMenuControllerDidShowLeftViewNotification;
kLGSideMenuControllerDidDismissLeftViewNotification;

kLGSideMenuControllerWillShowRightViewNotification;
kLGSideMenuControllerWillDismissRightViewNotification;
kLGSideMenuControllerDidShowRightViewNotification;
kLGSideMenuControllerDidDismissRightViewNotification;

More

For more details try Xcode Demo project and see LGSideMenuController.h

License

LGSideMenuController is released under the MIT license. See LICENSE for details.