iOS view controller shows left and right views on top of everything by pressing button or gesture.
Download repository, then add LGSideMenuController directory to your project.
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.
platform :ios, '6.0'
pod 'LGSideMenuController', '~> 1.0.0'
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.
github "Friend-LGA/LGSideMenuController" ~> 1.0.0
In the source files where you need to use the library, import the header file:
#import "LGSideMenuController.h"
- (instancetype)initWithRootViewController:(UIViewController *)rootViewController;
public init!(rootViewController: UIViewController!)
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
public func setLeftViewEnabledWithWidth(width: CGFloat,
presentationStyle: LGSideMenuPresentationStyle,
alwaysVisibleOptions: LGSideMenuAlwaysVisibleOptions)
public func setRightViewEnabledWithWidth(width: CGFloat,
presentationStyle: LGSideMenuPresentationStyle,
alwaysVisibleOptions: LGSideMenuAlwaysVisibleOptions)
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];
let viewController = UIViewController()
let navigationController = UINavigationController(rootViewController: viewController)
let sideMenuController = LGSideMenuController(rootViewController: navigationController)
sideMenuController.setLeftViewEnabledWithWidth(250, presentationStyle: .ScaleFromBig, alwaysVisibleOptions: .OnNone)
let leftViewController = UITableViewController()
sideMenuController.leftView().addSubview(leftViewController.tableView)
Here is also some notifications, that you can add to NSNotificationsCenter:
kLGSideMenuControllerWillShowLeftViewNotification
kLGSideMenuControllerWillDismissLeftViewNotification
kLGSideMenuControllerDidShowLeftViewNotification
kLGSideMenuControllerDidDismissLeftViewNotification
kLGSideMenuControllerWillShowRightViewNotification
kLGSideMenuControllerWillDismissRightViewNotification
kLGSideMenuControllerDidShowRightViewNotification
kLGSideMenuControllerDidDismissRightViewNotification
For more details try Xcode Demo project and see LGSideMenuController.h
LGSideMenuController is released under the MIT license. See LICENSE for details.