Skip to content

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

License

Notifications You must be signed in to change notification settings

Shubham1993/LGSideMenuController

 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 87.8%
  • Swift 11.9%
  • Ruby 0.3%