- Initial Commot

This commit is contained in:
Aryan Gh 2013-04-25 22:34:42 -07:00
parent 1edb69f4f1
commit fa1a11995c
17 changed files with 628 additions and 45 deletions

View File

@ -18,12 +18,18 @@
15371EF91728E3B400A508F4 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 15371EF81728E3B400A508F4 /* Default-568h@2x.png */; };
15371EFC1728E3B400A508F4 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 15371EFA1728E3B400A508F4 /* MainStoryboard_iPhone.storyboard */; };
15371EFF1728E3B400A508F4 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 15371EFD1728E3B400A508F4 /* MainStoryboard_iPad.storyboard */; };
15371F021728E3B400A508F4 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15371F011728E3B400A508F4 /* ViewController.m */; };
15371F0A1728E3B400A508F4 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15371F091728E3B400A508F4 /* SenTestingKit.framework */; };
15371F0B1728E3B400A508F4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15371EE21728E3B400A508F4 /* UIKit.framework */; };
15371F0C1728E3B400A508F4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15371EE41728E3B400A508F4 /* Foundation.framework */; };
15371F141728E3B400A508F4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 15371F121728E3B400A508F4 /* InfoPlist.strings */; };
15371F171728E3B400A508F4 /* SlideMenuTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 15371F161728E3B400A508F4 /* SlideMenuTests.m */; };
15371F281728E44E00A508F4 /* SlideNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15371F271728E44E00A508F4 /* SlideNavigationController.m */; };
15CBD67C172A15F900F0C53E /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CBD677172A15F900F0C53E /* HomeViewController.m */; };
15CBD67D172A15F900F0C53E /* MenuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CBD679172A15F900F0C53E /* MenuViewController.m */; };
15CBD67E172A15F900F0C53E /* ProfileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CBD67B172A15F900F0C53E /* ProfileViewController.m */; };
15CBD684172A20DA00F0C53E /* left-menu-button.png in Resources */ = {isa = PBXBuildFile; fileRef = 15CBD682172A20DA00F0C53E /* left-menu-button.png */; };
15CBD685172A20DA00F0C53E /* right-menu-button.png in Resources */ = {isa = PBXBuildFile; fileRef = 15CBD683172A20DA00F0C53E /* right-menu-button.png */; };
15CBD689172A22B700F0C53E /* ProfileDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15CBD688172A22B700F0C53E /* ProfileDetailViewController.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -52,14 +58,24 @@
15371EF81728E3B400A508F4 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
15371EFB1728E3B400A508F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
15371EFE1728E3B400A508F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = "<group>"; };
15371F001728E3B400A508F4 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
15371F011728E3B400A508F4 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
15371F081728E3B400A508F4 /* SlideMenuTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SlideMenuTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
15371F091728E3B400A508F4 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
15371F111728E3B400A508F4 /* SlideMenuTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SlideMenuTests-Info.plist"; sourceTree = "<group>"; };
15371F131728E3B400A508F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
15371F151728E3B400A508F4 /* SlideMenuTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SlideMenuTests.h; sourceTree = "<group>"; };
15371F161728E3B400A508F4 /* SlideMenuTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SlideMenuTests.m; sourceTree = "<group>"; };
15371F261728E44E00A508F4 /* SlideNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlideNavigationController.h; sourceTree = "<group>"; };
15371F271728E44E00A508F4 /* SlideNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SlideNavigationController.m; sourceTree = "<group>"; };
15CBD676172A15F900F0C53E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
15CBD677172A15F900F0C53E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
15CBD678172A15F900F0C53E /* MenuViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MenuViewController.h; sourceTree = "<group>"; };
15CBD679172A15F900F0C53E /* MenuViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MenuViewController.m; sourceTree = "<group>"; };
15CBD67A172A15F900F0C53E /* ProfileViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfileViewController.h; sourceTree = "<group>"; };
15CBD67B172A15F900F0C53E /* ProfileViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProfileViewController.m; sourceTree = "<group>"; };
15CBD682172A20DA00F0C53E /* left-menu-button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "left-menu-button.png"; sourceTree = "<group>"; };
15CBD683172A20DA00F0C53E /* right-menu-button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "right-menu-button.png"; sourceTree = "<group>"; };
15CBD687172A22B600F0C53E /* ProfileDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfileDetailViewController.h; sourceTree = "<group>"; };
15CBD688172A22B700F0C53E /* ProfileDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProfileDetailViewController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -119,12 +135,12 @@
15371EE81728E3B400A508F4 /* SlideMenu */ = {
isa = PBXGroup;
children = (
15CBD675172A15F900F0C53E /* Helper Classes */,
15371F241728E43600A508F4 /* Source */,
15371EF11728E3B400A508F4 /* AppDelegate.h */,
15371EF21728E3B400A508F4 /* AppDelegate.m */,
15371EFA1728E3B400A508F4 /* MainStoryboard_iPhone.storyboard */,
15371EFD1728E3B400A508F4 /* MainStoryboard_iPad.storyboard */,
15371F001728E3B400A508F4 /* ViewController.h */,
15371F011728E3B400A508F4 /* ViewController.m */,
15371EE91728E3B400A508F4 /* Supporting Files */,
);
path = SlideMenu;
@ -163,6 +179,40 @@
name = "Supporting Files";
sourceTree = "<group>";
};
15371F241728E43600A508F4 /* Source */ = {
isa = PBXGroup;
children = (
15CBD681172A209500F0C53E /* Assets */,
15371F261728E44E00A508F4 /* SlideNavigationController.h */,
15371F271728E44E00A508F4 /* SlideNavigationController.m */,
);
path = Source;
sourceTree = "<group>";
};
15CBD675172A15F900F0C53E /* Helper Classes */ = {
isa = PBXGroup;
children = (
15CBD676172A15F900F0C53E /* HomeViewController.h */,
15CBD677172A15F900F0C53E /* HomeViewController.m */,
15CBD678172A15F900F0C53E /* MenuViewController.h */,
15CBD679172A15F900F0C53E /* MenuViewController.m */,
15CBD67A172A15F900F0C53E /* ProfileViewController.h */,
15CBD67B172A15F900F0C53E /* ProfileViewController.m */,
15CBD687172A22B600F0C53E /* ProfileDetailViewController.h */,
15CBD688172A22B700F0C53E /* ProfileDetailViewController.m */,
);
path = "Helper Classes";
sourceTree = "<group>";
};
15CBD681172A209500F0C53E /* Assets */ = {
isa = PBXGroup;
children = (
15CBD682172A20DA00F0C53E /* left-menu-button.png */,
15CBD683172A20DA00F0C53E /* right-menu-button.png */,
);
path = Assets;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@ -240,6 +290,8 @@
15371EF91728E3B400A508F4 /* Default-568h@2x.png in Resources */,
15371EFC1728E3B400A508F4 /* MainStoryboard_iPhone.storyboard in Resources */,
15371EFF1728E3B400A508F4 /* MainStoryboard_iPad.storyboard in Resources */,
15CBD684172A20DA00F0C53E /* left-menu-button.png in Resources */,
15CBD685172A20DA00F0C53E /* right-menu-button.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -276,7 +328,11 @@
files = (
15371EEF1728E3B400A508F4 /* main.m in Sources */,
15371EF31728E3B400A508F4 /* AppDelegate.m in Sources */,
15371F021728E3B400A508F4 /* ViewController.m in Sources */,
15371F281728E44E00A508F4 /* SlideNavigationController.m in Sources */,
15CBD67C172A15F900F0C53E /* HomeViewController.m in Sources */,
15CBD67D172A15F900F0C53E /* MenuViewController.m in Sources */,
15CBD67E172A15F900F0C53E /* ProfileViewController.m in Sources */,
15CBD689172A22B700F0C53E /* ProfileDetailViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -460,6 +516,7 @@
15371F1C1728E3B400A508F4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
15371F1D1728E3B400A508F4 /* Build configuration list for PBXNativeTarget "SlideMenuTests" */ = {
isa = XCConfigurationList;
@ -468,6 +525,7 @@
15371F1F1728E3B400A508F4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};

View File

@ -7,6 +7,8 @@
//
#import <UIKit/UIKit.h>
#import "SlideNavigationController.h"
#import "MenuViewController.h"
@interface AppDelegate : UIResponder <UIApplicationDelegate>

View File

@ -12,6 +12,18 @@
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone"
bundle: nil];
MenuViewController *rightMenu = (MenuViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"MenuViewController"];
MenuViewController *leftMenu = (MenuViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"MenuViewController"];
[SlideNavigationController sharedInstance].righMenu = rightMenu;
[SlideNavigationController sharedInstance].leftMenu = leftMenu;
// Override point for customization after application launch.
return YES;
}

View File

@ -0,0 +1,14 @@
//
// HomeViewController.h
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "SlideNavigationController.h"
@interface HomeViewController : UIViewController <SlideNavigationControllerDelegate>
@end

View File

@ -0,0 +1,30 @@
//
// HomeViewController.m
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import "HomeViewController.h"
@implementation HomeViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
#pragma mark - SlideNavigationController Methods -
- (BOOL)slideNavigationControllerShouldSisplayLeftMenu
{
return YES;
}
- (BOOL)slideNavigationControllerShouldSisplayRightMenu
{
return YES;
}
@end

View File

@ -1,5 +1,5 @@
//
// ViewController.h
// MenuViewController.h
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
@ -7,7 +7,9 @@
//
#import <UIKit/UIKit.h>
#import "SlideNavigationController.h"
@interface MenuViewController : UIViewController <UITableViewDelegate>
@interface ViewController : UIViewController
@end

View File

@ -0,0 +1,54 @@
//
// MenuViewController.m
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import "MenuViewController.h"
@implementation MenuViewController
#pragma mark - UITableView Delegate & Datasrouce -
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @"menuCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
switch (indexPath.row)
{
case 0:
cell.detailTextLabel.text = @"Home";
break;
case 1:
cell.detailTextLabel.text = @"Profile";
break;
case 2:
cell.detailTextLabel.text = @"Friends";
break;
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone"
bundle: nil];
UIViewController *vc = (MenuViewController*)[mainStoryboard
instantiateViewControllerWithIdentifier: @"ProfileViewController"];
[[SlideNavigationController sharedInstance] switchViewController:vc withCompletion:nil];
}
@end

View File

@ -0,0 +1,14 @@
//
// ProfileDetailViewController.h
// SlideMenu
//
// Created by Aryan Gh on 4/25/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "SlideNavigationController.h"
@interface ProfileDetailViewController : UIViewController <SlideNavigationControllerDelegate>
@end

View File

@ -0,0 +1,30 @@
//
// ProfileDetailViewController.m
// SlideMenu
//
// Created by Aryan Gh on 4/25/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import "ProfileDetailViewController.h"
@implementation ProfileDetailViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
#pragma mark - SlideNavigationController Methods -
- (BOOL)slideNavigationControllerShouldSisplayLeftMenu
{
return NO;
}
- (BOOL)slideNavigationControllerShouldSisplayRightMenu
{
return YES;
}
@end

View File

@ -0,0 +1,14 @@
//
// ProfileViewController.h
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "SlideNavigationController.h"
@interface ProfileViewController : UIViewController <SlideNavigationControllerDelegate>
@end

View File

@ -0,0 +1,30 @@
//
// ProfileViewController.m
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import "ProfileViewController.h"
@implementation ProfileViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
#pragma mark - SlideNavigationController Methods -
- (BOOL)slideNavigationControllerShouldSisplayLeftMenu
{
return YES;
}
- (BOOL)slideNavigationControllerShouldSisplayRightMenu
{
return YES;
}
@end

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -0,0 +1,25 @@
//
// SlideNavigationController.h
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import <UIKit/UIKit.h>
@protocol SlideNavigationControllerDelegate <NSObject>
@optional
- (BOOL)slideNavigationControllerShouldSisplayRightMenu;
- (BOOL)slideNavigationControllerShouldSisplayLeftMenu;
@end
@interface SlideNavigationController : UINavigationController <UINavigationControllerDelegate>
@property (nonatomic, strong) UIViewController *righMenu;
@property (nonatomic, strong) UIViewController *leftMenu;
+ (SlideNavigationController *)sharedInstance;
- (void)switchViewController:(UIViewController *)viewController withCompletion:(void (^)())completion;
@end

View File

@ -0,0 +1,174 @@
//
// SlideNavigationController.m
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import "SlideNavigationController.h"
@implementation SlideNavigationController
@synthesize righMenu;
@synthesize leftMenu;
#define MENU_OFFSET 60
#define MENU_SLIDE_ANIMATION_DURATION 0.3
static SlideNavigationController *singletonInstance;
#pragma mark - Initialization -
+ (SlideNavigationController *)sharedInstance
{
return singletonInstance;
}
- (void)awakeFromNib
{
singletonInstance = self;
self.delegate = self;
}
- (id)init
{
if (self = [super init])
{
singletonInstance = self;
}
return self;
}
#pragma mark - Public Methods -
- (void)switchViewController:(UIViewController *)viewController withCompletion:(void (^)())completion
{
__block CGRect rect = self.view.frame;
if ([self isMenuOpen])
{
[UIView animateWithDuration:MENU_SLIDE_ANIMATION_DURATION animations:^{
rect.origin.x = (rect.origin.x > 0) ? rect.size.width : -1*rect.size.width;
self.view.frame = rect;
} completion:^(BOOL finished) {
[UIView animateWithDuration:MENU_SLIDE_ANIMATION_DURATION animations:^{
rect.origin.x = 0;
self.view.frame = rect;
[self popToRootViewControllerAnimated:NO];
[self pushViewController:viewController animated:NO];
if (completion)
completion();
}];
}];
}
else
{
[self popToRootViewControllerAnimated:NO];
[self pushViewController:viewController animated:YES];
if (completion)
completion();
}
}
#pragma mark - Private Methods -
- (UIBarButtonItem *)leftBarButton
{
return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks
target:self
action:@selector(leftMenuSelected:)];
}
- (UIBarButtonItem *)rightBarButton
{
return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks
target:self
action:@selector(righttMenuSelected:)];
}
- (BOOL)isMenuOpen
{
return (self.view.frame.origin.x == 0) ? NO : YES;
}
- (BOOL)shouldDisplayRightMenuButtonForViewController:(UIViewController *)vc
{
if ([vc respondsToSelector:@selector(slideNavigationControllerShouldSisplayRightMenu)] &&
[(UIViewController<SlideNavigationControllerDelegate> *)vc slideNavigationControllerShouldSisplayRightMenu])
{
return YES;
}
return NO;
}
- (BOOL)shouldDisplayLeftMenuButtonForViewController:(UIViewController *)vc
{
if ([vc respondsToSelector:@selector(slideNavigationControllerShouldSisplayLeftMenu)] &&
[(UIViewController<SlideNavigationControllerDelegate> *)vc slideNavigationControllerShouldSisplayLeftMenu])
{
return YES;
}
return NO;
}
#pragma mark - UINavigationControllerDelegate Methods -
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
if ([self shouldDisplayLeftMenuButtonForViewController:viewController])
viewController.navigationItem.leftBarButtonItem = [self leftBarButton];
else
viewController.navigationItem.leftBarButtonItem = nil;
if ([self shouldDisplayRightMenuButtonForViewController:viewController])
viewController.navigationItem.rightBarButtonItem = [self rightBarButton];
else
viewController.navigationItem.rightBarButtonItem = nil;
}
#pragma mark - IBActions -
- (void)leftMenuSelected:(id)sender
{
[self.righMenu.view removeFromSuperview];
[self.view.window insertSubview:self.leftMenu.view atIndex:0];
[UIView animateWithDuration:MENU_SLIDE_ANIMATION_DURATION
animations:^{
CGRect rect = self.view.frame;
rect.origin.x = (self.isMenuOpen) ? 0 : rect.size.width - MENU_OFFSET;
self.view.frame = rect;
}
completion:^(BOOL finished) {
}];
}
- (void)righttMenuSelected:(id)sender
{
[self.leftMenu.view removeFromSuperview];
[self.view.window insertSubview:self.righMenu.view atIndex:0];
[UIView animateWithDuration:MENU_SLIDE_ANIMATION_DURATION
animations:^{
CGRect rect = self.view.frame;
rect.origin.x = (self.isMenuOpen) ? 0 : (rect.size.width - MENU_OFFSET )* -1;
self.view.frame = rect;
}
completion:^(BOOL finished) {
}];
}
@end

View File

@ -1,29 +0,0 @@
//
// ViewController.m
// SlideMenu
//
// Created by Aryan Gh on 4/24/13.
// Copyright (c) 2013 Aryan Ghassemi. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end

View File

@ -1,23 +1,176 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2519" systemVersion="12A206j" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="2">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2840" systemVersion="12D78" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="yzD-f0-X8n">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1856"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1926"/>
</dependencies>
<scenes>
<!--class Prefix:identifier View Controller-->
<scene sceneID="5">
<!--Slide Navigation Controller-->
<scene sceneID="cQY-wH-O5O">
<objects>
<viewController id="2" customClass="ViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="3">
<rect key="frame" x="0.0" y="20" width="320" height="460"/>
<navigationController definesPresentationContext="YES" id="yzD-f0-X8n" customClass="SlideNavigationController" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="9jY-gB-7xP">
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="mAB-md-uek" kind="relationship" relationship="rootViewController" id="z8d-Ml-dpq"/>
<segue destination="nrg-5w-bbF" kind="push" id="VVC-UO-FWZ"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="3Qg-wo-U2C" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="11" y="49"/>
</scene>
<!--Home View Controller - Home-->
<scene sceneID="7Hl-22-JcN">
<objects>
<viewController storyboardIdentifier="HomeViewController" id="mAB-md-uek" customClass="HomeViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="KmS-nM-BIh">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0tp-7h-5YK">
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="Button">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="0tp-7h-5YK" secondAttribute="bottom" constant="111" id="2jf-Bb-0Hn"/>
<constraint firstItem="0tp-7h-5YK" firstAttribute="leading" secondItem="KmS-nM-BIh" secondAttribute="leading" constant="137" id="xpZ-Fx-eqr"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Home" id="YV6-8b-6Lr"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Wf8-rc-ajb" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="552" y="-204"/>
</scene>
<!--Profile View Controller - Profile-->
<scene sceneID="xeE-nX-pb6">
<objects>
<viewController storyboardIdentifier="ProfileViewController" id="nrg-5w-bbF" customClass="ProfileViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="nXC-Mu-u90">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="coh-kj-UCb">
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="Button">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<segue destination="BLR-mt-TZ9" kind="push" id="Z6R-Ri-GZ4"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="coh-kj-UCb" firstAttribute="top" secondItem="nXC-Mu-u90" secondAttribute="top" constant="116" id="r8I-zY-MHB"/>
<constraint firstItem="coh-kj-UCb" firstAttribute="leading" secondItem="nXC-Mu-u90" secondAttribute="leading" constant="143" id="wxy-h2-ep0"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Profile" id="cIB-4y-aS6"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="BIU-qR-dGC" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="556" y="455"/>
</scene>
<!--Menu View Controller-->
<scene sceneID="jnp-rY-eNb">
<objects>
<viewController storyboardIdentifier="MenuViewController" id="Fo7-mQ-36d" customClass="MenuViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="SGn-Wf-7bo">
<rect key="frame" x="0.0" y="20" width="320" height="548"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="sDo-qF-VCh">
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="menuCell" textLabel="xb6-XA-Fp2" style="IBUITableViewCellStyleDefault" id="xqJ-Km-cL1">
<rect key="frame" x="0.0" y="22" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Home" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="xb6-XA-Fp2">
<rect key="frame" x="10" y="0.0" width="300" height="43"/>
<autoresizingMask key="autoresizingMask"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</label>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
</tableViewCell>
</prototypes>
<sections/>
<connections>
<outlet property="dataSource" destination="Fo7-mQ-36d" id="SUU-1c-fBe"/>
<outlet property="delegate" destination="Fo7-mQ-36d" id="djZ-ur-Eos"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="sDo-qF-VCh" firstAttribute="bottom" secondItem="SGn-Wf-7bo" secondAttribute="bottom" type="default" id="CIM-le-06X"/>
<constraint firstItem="sDo-qF-VCh" firstAttribute="top" secondItem="SGn-Wf-7bo" secondAttribute="top" type="default" id="Prl-0H-WcZ"/>
<constraint firstItem="sDo-qF-VCh" firstAttribute="trailing" secondItem="SGn-Wf-7bo" secondAttribute="trailing" type="default" id="tMP-ja-deS"/>
<constraint firstItem="sDo-qF-VCh" firstAttribute="leading" secondItem="SGn-Wf-7bo" secondAttribute="leading" type="default" id="zHf-8s-rjt"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="93v-6G-gvs" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-508" y="63"/>
</scene>
<!--Profile Detail View Controller - Profile Detail-->
<scene sceneID="w1a-xD-Zgv">
<objects>
<viewController storyboardIdentifier="ProfileDetailViewController" id="BLR-mt-TZ9" customClass="ProfileDetailViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="pd3-of-ZHU">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
<navigationItem key="navigationItem" title="Profile Detail" id="YcQ-Z1-05c"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="4" sceneMemberID="firstResponder"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="zoB-W7-tIa" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1015" y="455"/>
</scene>
</scenes>
<classes>
<class className="HomeViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/HomeViewController.h"/>
</class>
<class className="MenuViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/MenuViewController.h"/>
</class>
<class className="NSLayoutConstraint" superclassName="NSObject">
<source key="sourceIdentifier" type="project" relativePath="./Classes/NSLayoutConstraint.h"/>
</class>
<class className="ProfileDetailViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/ProfileDetailViewController.h"/>
</class>
<class className="ProfileViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/ProfileViewController.h"/>
</class>
<class className="SlideNavigationController" superclassName="UINavigationController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/SlideNavigationController.h"/>
</class>
</classes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>