/JASidePanels

Reveal side ViewControllers similar to Facebook/Path's menu

Primary LanguageObjective-C

JASidePanels

JASidePanels is a UIViewController container designed for presenting a center panel with revealable side panels - one to the left and one to the right. The main inspiration for this project is the menuing system in Path 2.0 and Facebook's iOS apps.

Demo

iPhone Example iPad Example

Example Code

#import "JAAppDelegate.h"

#import "JASidePanelController.h"
#import "JACenterViewController.h"
#import "JALeftViewController.h"
#import "JARightViewController.h"

@implementation JAAppDelegate

@synthesize window = _window;
@synthesize viewController = _viewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
	
	self.viewController = [[JASidePanelController alloc] init];
	self.viewController.leftPanel = [[JALeftViewController alloc] init];
	self.viewController.centerPanel = [[UINavigationController alloc] initWithRootViewController:[[JACenterViewController alloc] init]];
	self.viewController.rightPanel = [[JARightViewController alloc] init];
	
	self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}


@end

Usage

Only two files are required for using JASidePanels: JASidePanelController.h & JASidePanelController.m

The easiest way to use JASidePanels is to copy the files into your XCode Project. Alternatively, you can setup a git submodule and reference the files in your Xcode project. I prefer this method as it enables you to receive bugfixes/updates for the project.

Requirements

JASidePanels requires iOS 5.0+ The projects uses ARC, but it may be used with non-ARC projects by setting the: -fobjc-arc compiler flag. You can set this flag under Target -> Build Phases -> Compile Sources