Latest 1.0.6
Homepage https://github.com/mindsnacks/MSSidebarController
License WTFPL
Platforms ios 7.0, requires ARC
Dependencies TransitionKit, libextobjc
Authors

Description:

Sidebar controller with customizable animations, implemented using a state machine.

How to Use:

You must instantiate the controller with the menu, and the currently active view controller:

[[MSSidebarController alloc] initWithMenuViewController:menuVC
                                   activeViewController:activeVC
                                        animatorFactory:animatorFactory];

You must also implement all three animation protocols:

@protocol MSSidebarDisplayViewControllerAnimator <NSObject>

- (void)sidebarController:(MSSidebarController *)sidebarController
willDisplayViewController:(UIViewController *)newViewController
          completionBlock:(void (^)(void))completionBlock;

@end

@protocol MSSidebarDisplayMenuAnimator <NSObject>

- (void)sidebarController:(MSSidebarController *)sidebarController
willDismissViewController:(UIViewController *)currentViewController
           andDisplayMenu:(UIViewController *)menuController
          completionBlock:(void (^)(void))completionBlock;

@end

@protocol MSSidebarHideViewControllerAnimator <NSObject>

- (void)sidebarController:(MSSidebarController *)sidebarController
   willHideViewController:(UIViewController *)currentViewController
  toShowNewViewController:(UIViewController *)newViewController
          completionBlock:(void (^)(void))completionBlock;

@end

View controllers inside of MSSidebarController will have a sidebarController property set,
which you can use to change the state of the controller. Example:

[self.sidebarController showMenu];
[self.sidebarController restoreLastViewController];
[self.sidebarController showViewController:SomeOtherController.new];

Installation:

Just add this line to your Podfile:

pod 'MSSidebarController', '~> 1.0.0'
  • Manually:

Simply add the files under Classes to your project.

Compatibility

  • Supports iOS iOS7+.

License

MSSidebarController is available under the WTFPL license. See the LICENSE file for more info.

Latest podspec

{
    "name": "MSSidebarController",
    "version": "1.0.6",
    "summary": "Fully customizable sidebar controller",
    "homepage": "https://github.com/mindsnacks/MSSidebarController",
    "license": {
        "type": "WTFPL",
        "file": "LICENSE"
    },
    "authors": {
        "Nacho Soto": "[email protected]"
    },
    "source": {
        "git": "https://github.com/mindsnacks/MSSidebarController.git",
        "tag": "1.0.6"
    },
    "platforms": {
        "ios": "7.0"
    },
    "source_files": "MSSidebarController/Classes/**/*.{h,m}",
    "public_header_files": "MSSidebarController/Classes/Public/*.h",
    "requires_arc": true,
    "ios": {
        "frameworks": [
            "UIKit",
            "QuartzCore"
        ]
    },
    "dependencies": {
        "TransitionKit": [
            "~> 2.0.0"
        ],
        "libextobjc": [
            "~> 0.3"
        ]
    }
}

Pin It on Pinterest

Share This