Skip to content

Latest commit

 

History

History
144 lines (99 loc) · 5.74 KB

README.md

File metadata and controls

144 lines (99 loc) · 5.74 KB

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

Objective-C

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

Swift

public init!(rootViewController: UIViewController!)

Setup

To enable left or right or both views call:

Objective-C

- (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

Swift

public func setLeftViewEnabledWithWidth(width: CGFloat, 
                            presentationStyle: LGSideMenuPresentationStyle, 
                         alwaysVisibleOptions: LGSideMenuAlwaysVisibleOptions)
    
public func setRightViewEnabledWithWidth(width: CGFloat, 
                             presentationStyle: LGSideMenuPresentationStyle, 
                          alwaysVisibleOptions: LGSideMenuAlwaysVisibleOptions)

Quick Example

Objective-C

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];

Swift

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)

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.