LGSideMenuController Versions Save

iOS view controller which manages left and right side views

1.1.0

7 years ago
  • Carthage framework was renamed: LGSideMenuControllerFramework -> LGSideMenuController. You need to re-add framework file.
  • Refactored to support new swift features like nullable and nonnull objects.
  • Minimal iOS version increased to 8.0
  • Fixed bugs in demo projects.
  • Add new swift demo project without storyboard.
  • Renamed notifications:
LGSideMenuControllerWillShowLeftViewNotification
LGSideMenuControllerWillDismissLeftViewNotification
LGSideMenuControllerDidShowLeftViewNotification
LGSideMenuControllerDidDismissLeftViewNotification

LGSideMenuControllerWillShowRightViewNotification
LGSideMenuControllerWillDismissRightViewNotification
LGSideMenuControllerDidShowRightViewNotification
LGSideMenuControllerDidDismissRightViewNotification
  • Deprecated some methods:
// LGSideMenuController.h

// OLD
- (void)showHideLeftViewAnimated:(BOOL)animated completionHandler:(LGSideMenuControllerCompletionHandler)completionHandler DEPRECATED_ATTRIBUTE;
- (void)showHideRightViewAnimated:(BOOL)animated completionHandler:(LGSideMenuControllerCompletionHandler)completionHandler DEPRECATED_ATTRIBUTE;

// NEW
- (void)toggleLeftViewAnimated:(BOOL)animated completionHandler:(LGSideMenuControllerCompletionHandler)completionHandler;
- (void)toggleRightViewAnimated:(BOOL)animated completionHandler:(LGSideMenuControllerCompletionHandler)completionHandler;
// UIViewController+LGSideMenuController.h

// OLD
- (IBAction)openLeftView:(nullable id)sender DEPRECATED_ATTRIBUTE;
- (IBAction)openRightView:(nullable id)sender DEPRECATED_ATTRIBUTE;

// NEW
- (IBAction)showLeftViewAnimated:(nullable id)sender;
- (IBAction)showRightViewAnimated:(nullable id)sender;
  • Added new IBActions:
// LGSideMenuController.h

- (IBAction)showLeftView:(nullable id)sender;
- (IBAction)hideLeftView:(nullable id)sender;
- (IBAction)toggleLeftView:(nullable id)sender;

- (IBAction)showLeftViewAnimated:(nullable id)sender;
- (IBAction)hideLeftViewAnimated:(nullable id)sender;
- (IBAction)toggleLeftViewAnimated:(nullable id)sender;

- (IBAction)showRightView:(nullable id)sender;
- (IBAction)hideRightView:(nullable id)sender;
- (IBAction)toggleRightView:(nullable id)sender;

- (IBAction)showRightViewAnimated:(nullable id)sender;
- (IBAction)hideRightViewAnimated:(nullable id)sender;
- (IBAction)toggleRightViewAnimated:(nullable id)sender;
// UIViewController+LGSideMenuController.h

- (IBAction)showLeftView:(nullable id)sender;
- (IBAction)hideLeftView:(nullable id)sender;
- (IBAction)toggleLeftView:(nullable id)sender;

- (IBAction)showLeftViewAnimated:(nullable id)sender;
- (IBAction)hideLeftViewAnimated:(nullable id)sender;
- (IBAction)toggleLeftViewAnimated:(nullable id)sender;

- (IBAction)showRightView:(nullable id)sender;
- (IBAction)hideRightView:(nullable id)sender;
- (IBAction)toggleRightView:(nullable id)sender;

- (IBAction)showRightViewAnimated:(nullable id)sender;
- (IBAction)hideRightViewAnimated:(nullable id)sender;
- (IBAction)toggleRightViewAnimated:(nullable id)sender;
  • Change behaviour of sideMenuController method in UIViewController+LGSideMenuController.h Now it returns sideMenuController only if current view controller really one of child view controllers of LGSideMenuController:
- (nullable LGSideMenuController *)sideMenuController {
    if ([self isKindOfClass:[LGSideMenuController class]]) {
        return (LGSideMenuController *)self;
    }

    if (self.parentViewController.sideMenuController) {
        return self.parentViewController.sideMenuController;
    }

    if (self.navigationController.sideMenuController) {
        return self.navigationController.sideMenuController;
    }

    if (self.presentingViewController.sideMenuController) {
        return self.presentingViewController.sideMenuController;
    }

    if (self.splitViewController.sideMenuController) {
        return self.splitViewController.sideMenuController;
    }

    return nil;
}

1.0.10

8 years ago

Fixed bug with status bar

1.0.9

8 years ago

For clearly, add properties to enable/disable left/right views:

self.shouldShowLeftView = YES;
self.shouldShowRightView = YES;

or

- (BOOL)shouldShowLeftView {
    return YES;
}

- (BOOL)shouldShowRightView {
    return YES;
}

1.0.8

8 years ago

Fixed bugs

1.0.7

8 years ago

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"

And updated demo projects

1.0.6

8 years ago

Updated from typedef enum to typedef NS_ENUM.

1.0.5

8 years ago

Fix bug with status bar. Update demo projects.

Now you can:

  • Set swipe gesture area
    • sideMenuController.swipeGestureArea = LGSideMenuSwipeGestureAreaBorders;
    • sideMenuController.swipeGestureArea = LGSideMenuSwipeGestureAreaFull;
  • Set status bar style and animation for every menu
    • sideMenuController.leftViewStatusBarStyle = UIStatusBarStyle...;
    • sideMenuController.rightViewStatusBarStyle = UIStatusBarStyle...;
    • sideMenuController.leftViewStatusBarUpdateAnimation = UIStatusBarAnimation...;
    • sideMenuController.rightViewStatusBarUpdateAnimation = UIStatusBarAnimation...;
  • Set animation speed for every menu
    • sideMenuController.leftViewAnimationSpeed = 0.5;
    • sideMenuController.rightViewAnimationSpeed = 0.5;

1.0.4

8 years ago

Fixed bug with 'Slide Over' on iOS 9 and with 'In-Call Status Bar', now you can use YES or NO values for 'View controller-based status bar appearance', add ability to set gesture recognizer cancelsTouchesInView property.

1.0.3

8 years ago

1.0.2

8 years ago