├── .gitignore ├── LICENSE.txt ├── README.md ├── RevealControllerExample ├── RevealControllerProject.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── RevealControllerProject │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── CustomAnimationController.h │ ├── CustomAnimationController.m │ ├── Default-568h@2x.png │ ├── FrontViewController.h │ ├── FrontViewController.m │ ├── MapViewController.h │ ├── MapViewController.m │ ├── Project-Prefix.pch │ ├── RearViewController.h │ ├── RearViewController.m │ ├── RevealControllerProject-Info.plist │ ├── RightViewController.h │ ├── RightViewController.m │ ├── RightViewController.xib │ ├── en.lproj │ ├── FrontViewController.xib │ ├── InfoPlist.strings │ ├── MapViewController.xib │ └── RearViewController.xib │ ├── main.m │ ├── reveal-icon.png │ └── reveal-icon@2x.png ├── RevealControllerExample2 ├── RevealControllerProject2.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── RevealControllerProject2 │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Default-568h@2x.png │ ├── FrontViewController.h │ ├── FrontViewController.m │ ├── MapViewController.h │ ├── MapViewController.m │ ├── Project-Prefix.pch │ ├── RearViewController.h │ ├── RearViewController.m │ ├── Resources │ ├── .DS_Store │ ├── 21-skull.png │ ├── 21-skull@2x.png │ ├── 24-gift.png │ ├── 24-gift@2x.png │ ├── 28-star.png │ ├── 28-star@2x.png │ ├── 29-heart.png │ ├── 29-heart@2x.png │ ├── 31-ipod.png │ ├── 31-ipod@2x.png │ ├── 38-airplane.png │ ├── 38-airplane@2x.png │ ├── bg_blocks.jpg │ ├── bg_flowers.jpg │ ├── bg_grass.jpg │ ├── reveal-icon.png │ └── reveal-icon@2x.png │ ├── RevealControllerProject-Info.plist │ ├── en.lproj │ ├── FrontViewController.xib │ ├── InfoPlist.strings │ ├── MapViewController.xib │ └── RearViewController.xib │ └── main.m ├── RevealControllerExample3 ├── RevealControllerProject3.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── RevealControllerProject3 │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Default-568h@2x.png │ ├── FrontViewController.h │ ├── FrontViewController.m │ ├── FrontViewControllerImage.h │ ├── FrontViewControllerImage.m │ ├── FrontViewControllerImage.xib │ ├── FrontViewControllerLabel.h │ ├── FrontViewControllerLabel.m │ ├── FrontViewControllerLabel.xib │ ├── Project-Prefix.pch │ ├── RearMasterTableViewController.h │ ├── RearMasterTableViewController.m │ ├── RearMasterTableViewControllerv.xib │ ├── RearTableViewController.h │ ├── RearTableViewController.m │ ├── RearTableViewController.xib │ ├── Resources │ ├── .DS_Store │ ├── airplane.png │ ├── airplane@2x.png │ ├── bg_blocks.jpg │ ├── bg_flowers.jpg │ ├── bg_grass.jpg │ ├── gift.png │ ├── gift@2x.png │ ├── heart.png │ ├── heart@2x.png │ ├── ipod.png │ ├── ipod@2x.png │ ├── reveal-icon.png │ ├── reveal-icon@2x.png │ ├── skull.png │ ├── skull@2x.png │ ├── star.png │ └── star@2x.png │ ├── RevealControllerProject-Info.plist │ ├── en.lproj │ ├── .DS_Store │ ├── FrontViewController.xib │ └── InfoPlist.strings │ └── main.m ├── RevealControllerProject.png ├── RevealControllerProject2_a.png ├── RevealControllerProject3_a.png ├── RevealControllerProject3_b.png ├── RevealControllerProject3_c.png ├── RevealControllerStoryboardExample2 ├── RevealControllerStoryboardExample2.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata └── RevealControllerStoryboardExample2 │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── ColorViewController.h │ ├── ColorViewController.m │ ├── Default-568h@2x.png │ ├── Default.png │ ├── Default@2x.png │ ├── MapViewController.h │ ├── MapViewController.m │ ├── MenuViewController.h │ ├── MenuViewController.m │ ├── RevealControllerStoryboardExample2-Info.plist │ ├── RevealControllerStoryboardExample2-Prefix.pch │ ├── en.lproj │ ├── InfoPlist.strings │ ├── MainStoryboard-iPad.storyboard │ └── MainStoryboard.storyboard │ ├── main.m │ ├── reveal-icon.png │ └── reveal-icon@2x.png ├── SWRevealViewController.podspec └── SWRevealViewController ├── SWRevealViewController.h └── SWRevealViewController.m /.gitignore: -------------------------------------------------------------------------------- 1 | # From https://github.com/github/gitignore/blob/master/Objective-C.gitignore 2 | # 3 | 4 | # OS X 5 | .DS_Store 6 | 7 | # Xcode 8 | build/ 9 | *.pbxuser 10 | !default.pbxuser 11 | *.mode1v3 12 | !default.mode1v3 13 | *.mode2v3 14 | !default.mode2v3 15 | *.perspectivev3 16 | !default.perspectivev3 17 | xcuserdata 18 | *.xccheckout 19 | profile 20 | *.moved-aside 21 | DerivedData 22 | *.hmap 23 | *.ipa 24 | 25 | # CocoaPods 26 | Pods 27 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | 21 | Early code inspired on a similar class by Philip Kluz (Philip.Kluz@zuui.org) -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <Workspace 3 | version = "1.0"> 4 | <FileRef 5 | location = "self:RevealControllerProject.xcodeproj"> 6 | </FileRef> 7 | </Workspace> 8 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample/RevealControllerProject/.DS_Store -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Early code inspired on a similar class by Philip Kluz (Philip.Kluz@zuui.org) 24 | 25 | */ 26 | 27 | #import <UIKit/UIKit.h> 28 | 29 | @class SWRevealViewController; 30 | 31 | @interface AppDelegate : UIResponder <UIApplicationDelegate> 32 | 33 | @property (strong, nonatomic) UIWindow *window; 34 | @property (strong, nonatomic) SWRevealViewController *viewController; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Early code inspired on a similar class by Philip Kluz (Philip.Kluz@zuui.org) 24 | 25 | */ 26 | 27 | 28 | #import "AppDelegate.h" 29 | 30 | #import "SWRevealViewController.h" 31 | #import "FrontViewController.h" 32 | #import "RearViewController.h" 33 | #import "RightViewController.h" 34 | #import "CustomAnimationController.h" 35 | 36 | @interface AppDelegate()<SWRevealViewControllerDelegate> 37 | @end 38 | 39 | @implementation AppDelegate 40 | 41 | @synthesize window = _window; 42 | @synthesize viewController = _viewController; 43 | 44 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 45 | { 46 | UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 47 | self.window = window; 48 | 49 | FrontViewController *frontViewController = [[FrontViewController alloc] init]; 50 | RearViewController *rearViewController = [[RearViewController alloc] init]; 51 | 52 | UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController]; 53 | UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearViewController]; 54 | 55 | SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:rearNavigationController frontViewController:frontNavigationController]; 56 | revealController.delegate = self; 57 | 58 | 59 | RightViewController *rightViewController = rightViewController = [[RightViewController alloc] init]; 60 | rightViewController.view.backgroundColor = [UIColor greenColor]; 61 | 62 | revealController.rightViewController = rightViewController; 63 | 64 | //revealController.bounceBackOnOverdraw=NO; 65 | //revealController.stableDragOnOverdraw=YES; 66 | 67 | self.viewController = revealController; 68 | 69 | self.window.rootViewController = self.viewController; 70 | [self.window makeKeyAndVisible]; 71 | return YES; 72 | } 73 | 74 | #pragma mark - SWRevealViewDelegate 75 | 76 | - (id <UIViewControllerAnimatedTransitioning>)revealController:(SWRevealViewController *)revealController animationControllerForOperation:(SWRevealControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC 77 | { 78 | if ( operation != SWRevealControllerOperationReplaceRightController ) 79 | return nil; 80 | 81 | if ( [toVC isKindOfClass:[RightViewController class]] ) 82 | { 83 | if ( [(RightViewController*)toVC wantsCustomAnimation] ) 84 | { 85 | id<UIViewControllerAnimatedTransitioning> animationController = [[CustomAnimationController alloc] init]; 86 | return animationController; 87 | } 88 | } 89 | 90 | return nil; 91 | } 92 | 93 | 94 | #define LogDelegates 0 95 | 96 | #if LogDelegates 97 | - (NSString*)stringFromFrontViewPosition:(FrontViewPosition)position 98 | { 99 | NSString *str = nil; 100 | if ( position == FrontViewPositionLeftSideMostRemoved ) str = @"FrontViewPositionLeftSideMostRemoved"; 101 | if ( position == FrontViewPositionLeftSideMost) str = @"FrontViewPositionLeftSideMost"; 102 | if ( position == FrontViewPositionLeftSide) str = @"FrontViewPositionLeftSide"; 103 | if ( position == FrontViewPositionLeft ) str = @"FrontViewPositionLeft"; 104 | if ( position == FrontViewPositionRight ) str = @"FrontViewPositionRight"; 105 | if ( position == FrontViewPositionRightMost ) str = @"FrontViewPositionRightMost"; 106 | if ( position == FrontViewPositionRightMostRemoved ) str = @"FrontViewPositionRightMostRemoved"; 107 | return str; 108 | } 109 | 110 | - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position 111 | { 112 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 113 | } 114 | 115 | - (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position 116 | { 117 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 118 | } 119 | 120 | - (void)revealController:(SWRevealViewController *)revealController animateToPosition:(FrontViewPosition)position 121 | { 122 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 123 | } 124 | 125 | - (void)revealControllerPanGestureBegan:(SWRevealViewController *)revealController; 126 | { 127 | NSLog( @"%@", NSStringFromSelector(_cmd) ); 128 | } 129 | 130 | - (void)revealControllerPanGestureEnded:(SWRevealViewController *)revealController; 131 | { 132 | NSLog( @"%@", NSStringFromSelector(_cmd) ); 133 | } 134 | 135 | - (void)revealController:(SWRevealViewController *)revealController panGestureBeganFromLocation:(CGFloat)location progress:(CGFloat)progress 136 | { 137 | NSLog( @"%@: %f, %f", NSStringFromSelector(_cmd), location, progress); 138 | } 139 | 140 | - (void)revealController:(SWRevealViewController *)revealController panGestureMovedToLocation:(CGFloat)location progress:(CGFloat)progress 141 | { 142 | NSLog( @"%@: %f, %f", NSStringFromSelector(_cmd), location, progress); 143 | } 144 | 145 | - (void)revealController:(SWRevealViewController *)revealController panGestureEndedToLocation:(CGFloat)location progress:(CGFloat)progress 146 | { 147 | NSLog( @"%@: %f, %f", NSStringFromSelector(_cmd), location, progress); 148 | } 149 | 150 | - (void)revealController:(SWRevealViewController *)revealController willAddViewController:(UIViewController *)viewController forOperation:(SWRevealControllerOperation)operation animated:(BOOL)animated 151 | { 152 | NSLog( @"%@: %@, %d", NSStringFromSelector(_cmd), viewController, operation); 153 | } 154 | 155 | - (void)revealController:(SWRevealViewController *)revealController didAddViewController:(UIViewController *)viewController forOperation:(SWRevealControllerOperation)operation animated:(BOOL)animated 156 | { 157 | NSLog( @"%@: %@, %d", NSStringFromSelector(_cmd), viewController, operation); 158 | } 159 | 160 | #endif 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/CustomAnimationController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import <Foundation/Foundation.h> 26 | 27 | @interface CustomAnimationController : NSObject<UIViewControllerAnimatedTransitioning> 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/CustomAnimationController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import "CustomAnimationController.h" 26 | 27 | 28 | #define TRANSITION_DURATION 0.5 29 | 30 | @implementation CustomAnimationController 31 | 32 | - (NSTimeInterval)transitionDuration:(id <UIViewControllerContextTransitioning>)transitionContext 33 | { 34 | return TRANSITION_DURATION; 35 | } 36 | 37 | 38 | - (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext 39 | { 40 | UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; 41 | UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; 42 | 43 | UIView *fromView = fromViewController.view; 44 | UIView *toView = toViewController.view; 45 | 46 | CGRect initialFromViewFrame = [transitionContext initialFrameForViewController:fromViewController]; 47 | CGRect finalFromViewFrame = initialFromViewFrame; 48 | finalFromViewFrame.origin.y -= initialFromViewFrame.size.height; 49 | 50 | CGRect finalToViewFrame = [transitionContext finalFrameForViewController:toViewController]; 51 | CGRect initialToViewFrame = finalToViewFrame; 52 | initialToViewFrame.origin.y += finalToViewFrame.size.height; 53 | 54 | fromView.frame = initialFromViewFrame; 55 | toView.frame = initialToViewFrame; 56 | 57 | [UIView animateWithDuration:TRANSITION_DURATION 58 | animations:^ { fromView.frame = finalFromViewFrame; toView.frame = finalToViewFrame;} 59 | completion:^(BOOL finished) { [transitionContext completeTransition:finished]; }]; 60 | } 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample/RevealControllerProject/Default-568h@2x.png -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/FrontViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import <UIKit/UIKit.h> 28 | 29 | @interface FrontViewController : UIViewController 30 | 31 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/FrontViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import "FrontViewController.h" 28 | #import "SWRevealViewController.h" 29 | 30 | @interface FrontViewController() 31 | 32 | // Private Methods: 33 | - (IBAction)pushExample:(id)sender; 34 | 35 | @end 36 | 37 | @implementation FrontViewController 38 | 39 | #pragma mark - View lifecycle 40 | 41 | 42 | - (void)viewDidLoad 43 | { 44 | [super viewDidLoad]; 45 | 46 | self.title = NSLocalizedString(@"Front View", nil); 47 | 48 | SWRevealViewController *revealController = [self revealViewController]; 49 | 50 | 51 | [revealController panGestureRecognizer]; 52 | [revealController tapGestureRecognizer]; 53 | 54 | UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 55 | style:UIBarButtonItemStylePlain target:revealController action:@selector(revealToggle:)]; 56 | 57 | self.navigationItem.leftBarButtonItem = revealButtonItem; 58 | 59 | UIBarButtonItem *rightRevealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 60 | style:UIBarButtonItemStylePlain target:revealController action:@selector(rightRevealToggle:)]; 61 | 62 | self.navigationItem.rightBarButtonItem = rightRevealButtonItem; 63 | } 64 | 65 | #pragma mark - Example Code 66 | 67 | - (IBAction)pushExample:(id)sender 68 | { 69 | UIViewController *stubController = [[UIViewController alloc] init]; 70 | stubController.view.backgroundColor = [UIColor whiteColor]; 71 | [self.navigationController pushViewController:stubController animated:YES]; 72 | } 73 | 74 | 75 | //- (void)viewWillAppear:(BOOL)animated 76 | //{ 77 | // [super viewWillAppear:animated]; 78 | // NSLog( @"%@: FRONT", NSStringFromSelector(_cmd)); 79 | //} 80 | // 81 | //- (void)viewWillDisappear:(BOOL)animated 82 | //{ 83 | // [super viewWillDisappear:animated]; 84 | // NSLog( @"%@: FRONT", NSStringFromSelector(_cmd)); 85 | //} 86 | // 87 | //- (void)viewDidAppear:(BOOL)animated 88 | //{ 89 | // [super viewDidAppear:animated]; 90 | // NSLog( @"%@: FRONT", NSStringFromSelector(_cmd)); 91 | //} 92 | // 93 | //- (void)viewDidDisappear:(BOOL)animated 94 | //{ 95 | // [super viewDidDisappear:animated]; 96 | // NSLog( @"%@: FRONT", NSStringFromSelector(_cmd)); 97 | //} 98 | 99 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/MapViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import <UIKit/UIKit.h> 26 | 27 | @interface MapViewController : UIViewController 28 | 29 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/MapViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import "MapViewController.h" 26 | #import "SWRevealViewController.h" 27 | 28 | @implementation MapViewController 29 | 30 | #pragma mark - View lifecycle 31 | 32 | - (void)viewDidLoad 33 | { 34 | [super viewDidLoad]; 35 | 36 | self.title = NSLocalizedString(@"Map View", nil); 37 | 38 | SWRevealViewController *revealController = [self revealViewController]; 39 | 40 | //[self.navigationController.navigationBar addGestureRecognizer:revealController.panGestureRecognizer]; 41 | 42 | UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 43 | style:UIBarButtonItemStylePlain target:revealController action:@selector(revealToggle:)]; 44 | 45 | self.navigationItem.leftBarButtonItem = revealButtonItem; 46 | 47 | UIBarButtonItem *rightRevealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 48 | style:UIBarButtonItemStylePlain target:revealController action:@selector(rightRevealToggle:)]; 49 | 50 | self.navigationItem.rightBarButtonItem = rightRevealButtonItem; 51 | } 52 | 53 | 54 | //- (void)viewWillAppear:(BOOL)animated 55 | //{ 56 | // [super viewWillAppear:animated]; 57 | // NSLog( @"%@: MAP", NSStringFromSelector(_cmd)); 58 | //} 59 | // 60 | //- (void)viewWillDisappear:(BOOL)animated 61 | //{ 62 | // [super viewWillDisappear:animated]; 63 | // NSLog( @"%@: MAP", NSStringFromSelector(_cmd)); 64 | //} 65 | // 66 | //- (void)viewDidAppear:(BOOL)animated 67 | //{ 68 | // [super viewDidAppear:animated]; 69 | // NSLog( @"%@: MAP", NSStringFromSelector(_cmd)); 70 | //} 71 | // 72 | //- (void)viewDidDisappear:(BOOL)animated 73 | //{ 74 | // [super viewDidDisappear:animated]; 75 | // NSLog( @"%@: MAP", NSStringFromSelector(_cmd)); 76 | //} 77 | 78 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/Project-Prefix.pch: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <Availability.h> 34 | 35 | #ifndef __IPHONE_4_0 36 | #warning "This project uses features only available in iOS SDK 4.0 and later." 37 | #endif 38 | 39 | #ifdef __OBJC__ 40 | #import <UIKit/UIKit.h> 41 | #import <Foundation/Foundation.h> 42 | #endif 43 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/RearViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import <UIKit/UIKit.h> 28 | 29 | @interface RearViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 30 | 31 | @property (nonatomic, retain) IBOutlet UITableView *rearTableView; 32 | 33 | 34 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/RearViewController.m: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | 4 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is furnished 11 | to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | 24 | Original code: 25 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 26 | 27 | */ 28 | 29 | #import "RearViewController.h" 30 | 31 | #import "SWRevealViewController.h" 32 | #import "FrontViewController.h" 33 | #import "MapViewController.h" 34 | 35 | @interface RearViewController() 36 | { 37 | NSInteger _presentedRow; 38 | } 39 | 40 | @end 41 | 42 | @implementation RearViewController 43 | 44 | @synthesize rearTableView = _rearTableView; 45 | 46 | 47 | #pragma mark - View lifecycle 48 | 49 | 50 | - (void)viewDidLoad 51 | { 52 | [super viewDidLoad]; 53 | 54 | self.title = NSLocalizedString(@"Rear View", nil); 55 | } 56 | 57 | 58 | #pragma marl - UITableView Data Source 59 | 60 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 61 | { 62 | return 4; 63 | } 64 | 65 | 66 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 67 | { 68 | static NSString *cellIdentifier = @"Cell"; 69 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 70 | NSInteger row = indexPath.row; 71 | 72 | if (nil == cell) 73 | { 74 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 75 | } 76 | 77 | NSString *text = nil; 78 | if (row == 0) 79 | { 80 | text = @"Front View Controller"; 81 | } 82 | else if (row == 1) 83 | { 84 | text = @"Map View Controller"; 85 | } 86 | else if (row == 2) 87 | { 88 | text = @"Enter Presentation Mode"; 89 | } 90 | else if (row == 3) 91 | { 92 | text = @"Resign Presentation Mode"; 93 | } 94 | 95 | cell.textLabel.text = NSLocalizedString( text,nil ); 96 | 97 | return cell; 98 | } 99 | 100 | 101 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 102 | { 103 | // Grab a handle to the reveal controller, as if you'd do with a navigtion controller via self.navigationController. 104 | SWRevealViewController *revealController = self.revealViewController; 105 | 106 | // selecting row 107 | NSInteger row = indexPath.row; 108 | 109 | // if we are trying to push the same row or perform an operation that does not imply frontViewController replacement 110 | // we'll just set position and return 111 | 112 | if ( row == _presentedRow ) 113 | { 114 | [revealController setFrontViewPosition:FrontViewPositionLeft animated:YES]; 115 | return; 116 | } 117 | else if (row == 2) 118 | { 119 | [revealController setFrontViewPosition:FrontViewPositionRightMost animated:YES]; 120 | return; 121 | } 122 | else if (row == 3) 123 | { 124 | [revealController setFrontViewPosition:FrontViewPositionRight animated:YES]; 125 | return; 126 | } 127 | 128 | // otherwise we'll create a new frontViewController and push it with animation 129 | 130 | UIViewController *newFrontController = nil; 131 | 132 | if (row == 0) 133 | { 134 | newFrontController = [[FrontViewController alloc] init]; 135 | } 136 | 137 | else if (row == 1) 138 | { 139 | newFrontController = [[MapViewController alloc] init]; 140 | } 141 | 142 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:newFrontController]; 143 | [revealController pushFrontViewController:navigationController animated:YES]; 144 | 145 | _presentedRow = row; // <- store the presented row 146 | } 147 | 148 | 149 | 150 | //- (void)viewWillAppear:(BOOL)animated 151 | //{ 152 | // [super viewWillAppear:animated]; 153 | // NSLog( @"%@: REAR", NSStringFromSelector(_cmd)); 154 | //} 155 | // 156 | //- (void)viewWillDisappear:(BOOL)animated 157 | //{ 158 | // [super viewWillDisappear:animated]; 159 | // NSLog( @"%@: REAR", NSStringFromSelector(_cmd)); 160 | //} 161 | // 162 | //- (void)viewDidAppear:(BOOL)animated 163 | //{ 164 | // [super viewDidAppear:animated]; 165 | // NSLog( @"%@: REAR", NSStringFromSelector(_cmd)); 166 | //} 167 | // 168 | //- (void)viewDidDisappear:(BOOL)animated 169 | //{ 170 | // [super viewDidDisappear:animated]; 171 | // NSLog( @"%@: REAR", NSStringFromSelector(_cmd)); 172 | //} 173 | 174 | @end -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/RevealControllerProject-Info.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>en</string> 7 | <key>CFBundleDisplayName</key> 8 | <string>${PRODUCT_NAME}</string> 9 | <key>CFBundleExecutable</key> 10 | <string>${EXECUTABLE_NAME}</string> 11 | <key>CFBundleIconFiles</key> 12 | <array/> 13 | <key>CFBundleIdentifier</key> 14 | <string>org.zuui.${PRODUCT_NAME:rfc1034identifier}</string> 15 | <key>CFBundleInfoDictionaryVersion</key> 16 | <string>6.0</string> 17 | <key>CFBundleName</key> 18 | <string>${PRODUCT_NAME}</string> 19 | <key>CFBundlePackageType</key> 20 | <string>APPL</string> 21 | <key>CFBundleShortVersionString</key> 22 | <string>1.0</string> 23 | <key>CFBundleSignature</key> 24 | <string>????</string> 25 | <key>CFBundleVersion</key> 26 | <string>1.0</string> 27 | <key>LSRequiresIPhoneOS</key> 28 | <true/> 29 | <key>UIRequiredDeviceCapabilities</key> 30 | <array> 31 | <string>armv7</string> 32 | </array> 33 | <key>UISupportedInterfaceOrientations</key> 34 | <array> 35 | <string>UIInterfaceOrientationPortrait</string> 36 | <string>UIInterfaceOrientationLandscapeLeft</string> 37 | <string>UIInterfaceOrientationLandscapeRight</string> 38 | <string>UIInterfaceOrientationPortraitUpsideDown</string> 39 | </array> 40 | <key>UISupportedInterfaceOrientations~ipad</key> 41 | <array> 42 | <string>UIInterfaceOrientationPortrait</string> 43 | <string>UIInterfaceOrientationLandscapeLeft</string> 44 | <string>UIInterfaceOrientationLandscapeRight</string> 45 | <string>UIInterfaceOrientationPortraitUpsideDown</string> 46 | </array> 47 | </dict> 48 | </plist> 49 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/RightViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import <UIKit/UIKit.h> 26 | 27 | @interface RightViewController : UIViewController 28 | 29 | @property (nonatomic) BOOL wantsCustomAnimation; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/RightViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import "RightViewController.h" 26 | #import "MapViewController.h" 27 | #import "SWRevealViewController.h" 28 | 29 | @interface RightViewController () 30 | // Private Methods: 31 | - (IBAction)replaceMe:(id)sender; 32 | - (IBAction)replaceMeCustom:(id)sender; 33 | - (IBAction)toggleFront:(id)sender; 34 | @end 35 | 36 | @implementation RightViewController 37 | 38 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 39 | { 40 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 41 | if (self) { 42 | // Custom initialization 43 | } 44 | return self; 45 | } 46 | 47 | - (void)viewDidLoad 48 | { 49 | [super viewDidLoad]; 50 | 51 | // Set a random -not too dark- background color. 52 | CGFloat r = 0.001f*(250+arc4random_uniform(750)); 53 | CGFloat g = 0.001f*(250+arc4random_uniform(750)); 54 | CGFloat b = 0.001f*(250+arc4random_uniform(750)); 55 | UIColor *color = [UIColor colorWithRed:r green:g blue:b alpha:1.0f]; 56 | self.view.backgroundColor = color; 57 | } 58 | 59 | - (void)didReceiveMemoryWarning 60 | { 61 | [super didReceiveMemoryWarning]; 62 | // Dispose of any resources that can be recreated. 63 | } 64 | 65 | #define TestStatusBarStyle 0 // <-- set this to 1 to test status bar style 66 | #if TestStatusBarStyle 67 | - (UIStatusBarStyle)preferredStatusBarStyle 68 | { 69 | return UIStatusBarStyleLightContent; 70 | } 71 | #endif 72 | 73 | #define TestStatusBarHidden 0 // <-- set this to 1 to test status bar hidden 74 | #if TestStatusBarHidden 75 | - (BOOL)prefersStatusBarHidden 76 | { 77 | return YES; 78 | } 79 | #endif 80 | 81 | - (IBAction)replaceMe:(id)sender 82 | { 83 | RightViewController *replacement = [[RightViewController alloc] init]; 84 | [self.revealViewController setRightViewController:replacement animated:YES]; 85 | } 86 | 87 | - (IBAction)replaceMeCustom:(id)sender 88 | { 89 | RightViewController *replacement = [[RightViewController alloc] init]; 90 | replacement.wantsCustomAnimation = YES; 91 | [self.revealViewController setRightViewController:replacement animated:YES]; 92 | } 93 | 94 | 95 | - (IBAction)toggleFront:(id)sender 96 | { 97 | MapViewController *mapViewController = [[MapViewController alloc] init]; 98 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mapViewController]; 99 | 100 | [self.revealViewController pushFrontViewController:navigationController animated:YES]; 101 | } 102 | 103 | 104 | //- (void)dealloc 105 | //{ 106 | // NSLog(@"RightController dealloc"); 107 | //} 108 | // 109 | //- (void)viewWillAppear:(BOOL)animated 110 | //{ 111 | // [super viewWillAppear:animated]; 112 | // NSLog( @"%@: RIGHT %@", NSStringFromSelector(_cmd), self); 113 | //} 114 | // 115 | //- (void)viewWillDisappear:(BOOL)animated 116 | //{ 117 | // [super viewWillDisappear:animated]; 118 | // NSLog( @"%@: RIGHT %@", NSStringFromSelector(_cmd), self); 119 | //} 120 | // 121 | //- (void)viewDidAppear:(BOOL)animated 122 | //{ 123 | // [super viewDidAppear:animated]; 124 | // NSLog( @"%@: RIGHT %@", NSStringFromSelector(_cmd), self); 125 | //} 126 | // 127 | //- (void)viewDidDisappear:(BOOL)animated 128 | //{ 129 | // [super viewDidDisappear:animated]; 130 | // NSLog( @"%@: RIGHT %@", NSStringFromSelector(_cmd), self); 131 | //} 132 | 133 | @end 134 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/RightViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4514" systemVersion="13A603" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none"> 3 | <dependencies> 4 | <deployment defaultVersion="1536" identifier="iOS"/> 5 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3747"/> 6 | </dependencies> 7 | <objects> 8 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RightViewController"> 9 | <connections> 10 | <outlet property="view" destination="1" id="3"/> 11 | </connections> 12 | </placeholder> 13 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 14 | <view contentMode="scaleToFill" id="1"> 15 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 16 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 17 | <subviews> 18 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="4"> 19 | <rect key="frame" x="58" y="68" width="242" height="44"/> 20 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 21 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 22 | <state key="normal" title="Replace me (default)"> 23 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> 24 | </state> 25 | <connections> 26 | <action selector="replaceMe:" destination="-1" eventType="touchUpInside" id="5"/> 27 | </connections> 28 | </button> 29 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="IWs-tW-tjy"> 30 | <rect key="frame" x="58" y="376" width="242" height="44"/> 31 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 32 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 33 | <state key="normal" title="Toggle"> 34 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> 35 | </state> 36 | <connections> 37 | <action selector="toggleFront:" destination="-1" eventType="touchUpInside" id="A73-NF-UN5"/> 38 | </connections> 39 | </button> 40 | <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Tap on the button above to create a new controller replacing this one." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="5" minimumFontSize="10" id="7"> 41 | <rect key="frame" x="57" y="104" width="245" height="88"/> 42 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 43 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 44 | <color key="textColor" white="0.31170164230000003" alpha="1" colorSpace="calibratedWhite"/> 45 | <nil key="highlightedColor"/> 46 | <color key="shadowColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 47 | <size key="shadowOffset" width="0.0" height="1"/> 48 | </label> 49 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="UNT-Lz-tVC"> 50 | <rect key="frame" x="58" y="215" width="242" height="44"/> 51 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 52 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 53 | <state key="normal" title="Replace me (custom)"> 54 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> 55 | </state> 56 | <connections> 57 | <action selector="replaceMeCustom:" destination="-1" eventType="touchUpInside" id="H9n-hr-YvR"/> 58 | </connections> 59 | </button> 60 | <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Tap on the button above to create a new controller replacing this one with custom animation" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="5" minimumFontSize="10" id="K8b-Gr-2XT"> 61 | <rect key="frame" x="57" y="260" width="245" height="92"/> 62 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 63 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 64 | <color key="textColor" white="0.31170164230000003" alpha="1" colorSpace="calibratedWhite"/> 65 | <nil key="highlightedColor"/> 66 | <color key="shadowColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 67 | <size key="shadowOffset" width="0.0" height="1"/> 68 | </label> 69 | <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Tap on Toggle to replace the front view controller from here (We are pushing a new MapViewController just for testing)." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="5" minimumFontSize="10" id="CwE-fU-EsJ"> 70 | <rect key="frame" x="57" y="425" width="245" height="103"/> 71 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 72 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 73 | <color key="textColor" white="0.31170164230000003" alpha="1" colorSpace="calibratedWhite"/> 74 | <nil key="highlightedColor"/> 75 | <color key="shadowColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 76 | <size key="shadowOffset" width="0.0" height="1"/> 77 | </label> 78 | </subviews> 79 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> 80 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> 81 | <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> 82 | </view> 83 | </objects> 84 | </document> -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/en.lproj/FrontViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4514" systemVersion="13A603" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none"> 3 | <dependencies> 4 | <deployment defaultVersion="1536" identifier="iOS"/> 5 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3747"/> 6 | </dependencies> 7 | <objects> 8 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="FrontViewController"> 9 | <connections> 10 | <outlet property="view" destination="1" id="57"/> 11 | </connections> 12 | </placeholder> 13 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 14 | <view contentMode="scaleToFill" id="1"> 15 | <rect key="frame" x="0.0" y="0.0" width="320" height="480"/> 16 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 17 | <subviews> 18 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="58"> 19 | <rect key="frame" x="20" y="109" width="280" height="37"/> 20 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/> 21 | <state key="normal" title="Push a Navigation Controller!"> 22 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> 23 | </state> 24 | <connections> 25 | <action selector="pushExample:" destination="-1" eventType="touchUpInside" id="59"/> 26 | </connections> 27 | </button> 28 | <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Note: You may always reveal the rear view by panning your finger across the NavigationBar." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="5" minimumFontSize="10" id="60"> 29 | <rect key="frame" x="17" y="143" width="286" height="88"/> 30 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/> 31 | <fontDescription key="fontDescription" type="system" pointSize="17"/> 32 | <color key="textColor" white="0.31170164230000003" alpha="1" colorSpace="calibratedWhite"/> 33 | <nil key="highlightedColor"/> 34 | <color key="shadowColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 35 | <size key="shadowOffset" width="0.0" height="1"/> 36 | </label> 37 | <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" id="Ged-nC-e3e"> 38 | <rect key="frame" x="18" y="239" width="284" height="34"/> 39 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/> 40 | </slider> 41 | </subviews> 42 | <color key="backgroundColor" red="0.82190921530000005" green="0.86119981749999996" blue="0.90776117700000003" alpha="1" colorSpace="calibratedRGB"/> 43 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> 44 | </view> 45 | </objects> 46 | </document> -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/en.lproj/MapViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 3 | <data> 4 | <int key="IBDocument.SystemTarget">1536</int> 5 | <string key="IBDocument.SystemVersion">12E55</string> 6 | <string key="IBDocument.InterfaceBuilderVersion">4457.9</string> 7 | <string key="IBDocument.AppKitVersion">1187.39</string> 8 | <string key="IBDocument.HIToolboxVersion">626.00</string> 9 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 11 | <string key="NS.object.0">3682.9</string> 12 | </object> 13 | <array key="IBDocument.IntegratedClassDependencies"> 14 | <string>IBMKMapView</string> 15 | <string>IBProxyObject</string> 16 | <string>IBUIView</string> 17 | </array> 18 | <array key="IBDocument.PluginDependencies"> 19 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 20 | </array> 21 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> 22 | <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 23 | <integer value="1" key="NS.object.0"/> 24 | </object> 25 | <array class="NSMutableArray" key="IBDocument.RootObjects" id="742636995"> 26 | <object class="IBProxyObject" id="1071367862"> 27 | <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 28 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 29 | </object> 30 | <object class="IBProxyObject" id="382154211"> 31 | <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 32 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 33 | </object> 34 | <object class="IBUIView" id="1050600947"> 35 | <reference key="NSNextResponder"/> 36 | <int key="NSvFlags">1298</int> 37 | <array class="NSMutableArray" key="NSSubviews"> 38 | <object class="IBMKMapView" id="610462946"> 39 | <reference key="NSNextResponder" ref="1050600947"/> 40 | <int key="NSvFlags">1298</int> 41 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 42 | <string key="NSFrameSize">{320, 460}</string> 43 | <reference key="NSSuperview" ref="1050600947"/> 44 | <reference key="NSWindow"/> 45 | <bool key="IBUIClipsSubviews">YES</bool> 46 | <bool key="IBUIMultipleTouchEnabled">YES</bool> 47 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 48 | </object> 49 | </array> 50 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 51 | <string key="NSFrame">{{0, 20}, {320, 460}}</string> 52 | <reference key="NSSuperview"/> 53 | <reference key="NSWindow"/> 54 | <object class="NSColor" key="IBUIBackgroundColor"> 55 | <int key="NSColorSpace">3</int> 56 | <bytes key="NSWhite">MQA</bytes> 57 | <object class="NSColorSpace" key="NSCustomColorSpace"> 58 | <int key="NSID">2</int> 59 | </object> 60 | </object> 61 | <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> 62 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 63 | </object> 64 | </array> 65 | <object class="IBObjectContainer" key="IBDocument.Objects"> 66 | <bool key="usesAutoincrementingIDs">NO</bool> 67 | <array class="NSMutableArray" key="connectionRecords"> 68 | <object class="IBConnectionRecord"> 69 | <object class="IBCocoaTouchOutletConnection" key="connection"> 70 | <string key="label">view</string> 71 | <reference key="source" ref="1071367862"/> 72 | <reference key="destination" ref="1050600947"/> 73 | </object> 74 | <string key="id">4</string> 75 | </object> 76 | </array> 77 | <object class="IBMutableOrderedSet" key="objectRecords"> 78 | <array key="orderedObjects"> 79 | <object class="IBObjectRecord"> 80 | <string key="id">0</string> 81 | <array key="object" id="0"/> 82 | <reference key="children" ref="742636995"/> 83 | <nil key="parent"/> 84 | </object> 85 | <object class="IBObjectRecord"> 86 | <string key="id">-1</string> 87 | <reference key="object" ref="1071367862"/> 88 | <reference key="parent" ref="0"/> 89 | <string key="objectName">File's Owner</string> 90 | </object> 91 | <object class="IBObjectRecord"> 92 | <string key="id">-2</string> 93 | <reference key="object" ref="382154211"/> 94 | <reference key="parent" ref="0"/> 95 | </object> 96 | <object class="IBObjectRecord"> 97 | <string key="id">1</string> 98 | <reference key="object" ref="1050600947"/> 99 | <array class="NSMutableArray" key="children"> 100 | <reference ref="610462946"/> 101 | </array> 102 | <reference key="parent" ref="0"/> 103 | </object> 104 | <object class="IBObjectRecord"> 105 | <string key="id">3</string> 106 | <reference key="object" ref="610462946"/> 107 | <reference key="parent" ref="1050600947"/> 108 | </object> 109 | </array> 110 | </object> 111 | <dictionary class="NSMutableDictionary" key="flattenedProperties"> 112 | <string key="-1.CustomClassName">MapViewController</string> 113 | <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 114 | <boolean value="NO" key="-1.showNotes"/> 115 | <string key="-2.CustomClassName">UIResponder</string> 116 | <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 117 | <boolean value="NO" key="-2.showNotes"/> 118 | <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 119 | <reference key="1.IBUserGuides" ref="0"/> 120 | <boolean value="NO" key="1.showNotes"/> 121 | <string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 122 | <reference key="3.IBUserGuides" ref="0"/> 123 | <boolean value="NO" key="3.showNotes"/> 124 | </dictionary> 125 | <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 126 | <nil key="activeLocalization"/> 127 | <dictionary class="NSMutableDictionary" key="localizations"/> 128 | <nil key="sourceID"/> 129 | </object> 130 | <object class="IBClassDescriber" key="IBDocument.Classes"> 131 | <array class="NSMutableArray" key="referencedPartialClassDescriptions"> 132 | <object class="IBPartialClassDescription"> 133 | <string key="className">MapViewController</string> 134 | <string key="superclassName">UIViewController</string> 135 | <object class="IBClassDescriptionSource" key="sourceIdentifier"> 136 | <string key="majorKey">IBProjectSource</string> 137 | <string key="minorKey">./Classes/MapViewController.h</string> 138 | </object> 139 | </object> 140 | </array> 141 | </object> 142 | <int key="IBDocument.localizationMode">0</int> 143 | <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 144 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> 145 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> 146 | <real value="1536" key="NS.object.0"/> 147 | </object> 148 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> 149 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> 150 | <integer value="4600" key="NS.object.0"/> 151 | </object> 152 | <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 153 | <int key="IBDocument.defaultPropertyAccessControl">3</int> 154 | <string key="IBCocoaTouchPluginVersion">3682.9</string> 155 | </data> 156 | </archive> 157 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/en.lproj/RearViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 3 | <data> 4 | <int key="IBDocument.SystemTarget">1536</int> 5 | <string key="IBDocument.SystemVersion">12E55</string> 6 | <string key="IBDocument.InterfaceBuilderVersion">4457.9</string> 7 | <string key="IBDocument.AppKitVersion">1187.39</string> 8 | <string key="IBDocument.HIToolboxVersion">626.00</string> 9 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 11 | <string key="NS.object.0">3682.9</string> 12 | </object> 13 | <array key="IBDocument.IntegratedClassDependencies"> 14 | <string>IBProxyObject</string> 15 | <string>IBUITableView</string> 16 | <string>IBUIView</string> 17 | </array> 18 | <array key="IBDocument.PluginDependencies"> 19 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 20 | </array> 21 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> 22 | <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 23 | <integer value="1" key="NS.object.0"/> 24 | </object> 25 | <array class="NSMutableArray" key="IBDocument.RootObjects" id="636482528"> 26 | <object class="IBProxyObject" id="121081625"> 27 | <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 28 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 29 | </object> 30 | <object class="IBProxyObject" id="981366094"> 31 | <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 32 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 33 | </object> 34 | <object class="IBUIView" id="466472599"> 35 | <reference key="NSNextResponder"/> 36 | <int key="NSvFlags">1298</int> 37 | <array class="NSMutableArray" key="NSSubviews"> 38 | <object class="IBUITableView" id="275209014"> 39 | <reference key="NSNextResponder" ref="466472599"/> 40 | <int key="NSvFlags">1298</int> 41 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 42 | <string key="NSFrameSize">{320, 460}</string> 43 | <reference key="NSSuperview" ref="466472599"/> 44 | <reference key="NSWindow"/> 45 | <object class="NSColor" key="IBUIBackgroundColor"> 46 | <int key="NSColorSpace">3</int> 47 | <bytes key="NSWhite">MQA</bytes> 48 | </object> 49 | <bool key="IBUIClipsSubviews">YES</bool> 50 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 51 | <bool key="IBUIAlwaysBounceVertical">YES</bool> 52 | <int key="IBUISeparatorStyle">1</int> 53 | <int key="IBUISectionIndexMinimumDisplayRowCount">0</int> 54 | <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool> 55 | <float key="IBUIRowHeight">44</float> 56 | <float key="IBUISectionHeaderHeight">22</float> 57 | <float key="IBUISectionFooterHeight">22</float> 58 | </object> 59 | </array> 60 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 61 | <string key="NSFrameSize">{320, 460}</string> 62 | <reference key="NSSuperview"/> 63 | <reference key="NSWindow"/> 64 | <object class="NSColor" key="IBUIBackgroundColor"> 65 | <int key="NSColorSpace">3</int> 66 | <bytes key="NSWhite">MC4xOTc4MjE2MjQxAA</bytes> 67 | </object> 68 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 69 | </object> 70 | </array> 71 | <object class="IBObjectContainer" key="IBDocument.Objects"> 72 | <bool key="usesAutoincrementingIDs">NO</bool> 73 | <array class="NSMutableArray" key="connectionRecords"> 74 | <object class="IBConnectionRecord"> 75 | <object class="IBCocoaTouchOutletConnection" key="connection"> 76 | <string key="label">rearTableView</string> 77 | <reference key="source" ref="121081625"/> 78 | <reference key="destination" ref="275209014"/> 79 | </object> 80 | <string key="id">24</string> 81 | </object> 82 | <object class="IBConnectionRecord"> 83 | <object class="IBCocoaTouchOutletConnection" key="connection"> 84 | <string key="label">view</string> 85 | <reference key="source" ref="121081625"/> 86 | <reference key="destination" ref="466472599"/> 87 | </object> 88 | <string key="id">21</string> 89 | </object> 90 | <object class="IBConnectionRecord"> 91 | <object class="IBCocoaTouchOutletConnection" key="connection"> 92 | <string key="label">dataSource</string> 93 | <reference key="source" ref="275209014"/> 94 | <reference key="destination" ref="121081625"/> 95 | </object> 96 | <string key="id">22</string> 97 | </object> 98 | <object class="IBConnectionRecord"> 99 | <object class="IBCocoaTouchOutletConnection" key="connection"> 100 | <string key="label">delegate</string> 101 | <reference key="source" ref="275209014"/> 102 | <reference key="destination" ref="121081625"/> 103 | </object> 104 | <string key="id">23</string> 105 | </object> 106 | </array> 107 | <object class="IBMutableOrderedSet" key="objectRecords"> 108 | <array key="orderedObjects"> 109 | <object class="IBObjectRecord"> 110 | <string key="id">0</string> 111 | <array key="object" id="0"/> 112 | <reference key="children" ref="636482528"/> 113 | <nil key="parent"/> 114 | </object> 115 | <object class="IBObjectRecord"> 116 | <string key="id">-1</string> 117 | <reference key="object" ref="121081625"/> 118 | <reference key="parent" ref="0"/> 119 | <string key="objectName">File's Owner</string> 120 | </object> 121 | <object class="IBObjectRecord"> 122 | <string key="id">-2</string> 123 | <reference key="object" ref="981366094"/> 124 | <reference key="parent" ref="0"/> 125 | </object> 126 | <object class="IBObjectRecord"> 127 | <string key="id">1</string> 128 | <reference key="object" ref="466472599"/> 129 | <array class="NSMutableArray" key="children"> 130 | <reference ref="275209014"/> 131 | </array> 132 | <reference key="parent" ref="0"/> 133 | </object> 134 | <object class="IBObjectRecord"> 135 | <string key="id">20</string> 136 | <reference key="object" ref="275209014"/> 137 | <reference key="parent" ref="466472599"/> 138 | </object> 139 | </array> 140 | </object> 141 | <dictionary class="NSMutableDictionary" key="flattenedProperties"> 142 | <string key="-1.CustomClassName">RearViewController</string> 143 | <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 144 | <boolean value="NO" key="-1.showNotes"/> 145 | <string key="-2.CustomClassName">UIResponder</string> 146 | <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 147 | <boolean value="NO" key="-2.showNotes"/> 148 | <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 149 | <reference key="1.IBUserGuides" ref="0"/> 150 | <boolean value="NO" key="1.showNotes"/> 151 | <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 152 | <reference key="20.IBUserGuides" ref="0"/> 153 | <boolean value="NO" key="20.showNotes"/> 154 | </dictionary> 155 | <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 156 | <nil key="activeLocalization"/> 157 | <dictionary class="NSMutableDictionary" key="localizations"/> 158 | <nil key="sourceID"/> 159 | </object> 160 | <object class="IBClassDescriber" key="IBDocument.Classes"> 161 | <array class="NSMutableArray" key="referencedPartialClassDescriptions"> 162 | <object class="IBPartialClassDescription"> 163 | <string key="className">RearViewController</string> 164 | <string key="superclassName">UIViewController</string> 165 | <object class="NSMutableDictionary" key="outlets"> 166 | <string key="NS.key.0">rearTableView</string> 167 | <string key="NS.object.0">UITableView</string> 168 | </object> 169 | <object class="NSMutableDictionary" key="toOneOutletInfosByName"> 170 | <string key="NS.key.0">rearTableView</string> 171 | <object class="IBToOneOutletInfo" key="NS.object.0"> 172 | <string key="name">rearTableView</string> 173 | <string key="candidateClassName">UITableView</string> 174 | </object> 175 | </object> 176 | <object class="IBClassDescriptionSource" key="sourceIdentifier"> 177 | <string key="majorKey">IBProjectSource</string> 178 | <string key="minorKey">./Classes/RearViewController.h</string> 179 | </object> 180 | </object> 181 | </array> 182 | </object> 183 | <int key="IBDocument.localizationMode">0</int> 184 | <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 185 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> 186 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> 187 | <real value="1536" key="NS.object.0"/> 188 | </object> 189 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> 190 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> 191 | <integer value="4600" key="NS.object.0"/> 192 | </object> 193 | <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 194 | <int key="IBDocument.defaultPropertyAccessControl">3</int> 195 | <string key="IBCocoaTouchPluginVersion">3682.9</string> 196 | </data> 197 | </archive> 198 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <UIKit/UIKit.h> 34 | #import "AppDelegate.h" 35 | 36 | int main(int argc, char *argv[]) 37 | { 38 | @autoreleasepool 39 | { 40 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/reveal-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample/RevealControllerProject/reveal-icon.png -------------------------------------------------------------------------------- /RevealControllerExample/RevealControllerProject/reveal-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample/RevealControllerProject/reveal-icon@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <Workspace 3 | version = "1.0"> 4 | <FileRef 5 | location = "self:RevealControllerProject.xcodeproj"> 6 | </FileRef> 7 | </Workspace> 8 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/.DS_Store -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import <UIKit/UIKit.h> 26 | 27 | @class SWRevealViewController; 28 | 29 | @interface AppDelegate : UIResponder <UIApplicationDelegate> 30 | 31 | @property (strong, nonatomic) UIWindow *window; 32 | @property (strong, nonatomic) SWRevealViewController *viewController; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import "AppDelegate.h" 26 | 27 | #import "SWRevealViewController.h" 28 | #import "FrontViewController.h" 29 | #import "RearViewController.h" 30 | 31 | @interface AppDelegate()<SWRevealViewControllerDelegate> 32 | @end 33 | 34 | @implementation AppDelegate 35 | 36 | @synthesize window = _window; 37 | @synthesize viewController = _viewController; 38 | 39 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 40 | { 41 | UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 42 | self.window = window; 43 | 44 | FrontViewController *frontViewController = [[FrontViewController alloc] init]; 45 | RearViewController *rearViewController = [[RearViewController alloc] init]; 46 | 47 | UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController]; 48 | UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearViewController]; 49 | 50 | SWRevealViewController *mainRevealController = [[SWRevealViewController alloc] 51 | initWithRearViewController:rearNavigationController frontViewController:frontNavigationController]; 52 | 53 | mainRevealController.delegate = self; 54 | 55 | self.viewController = mainRevealController; 56 | 57 | self.window.rootViewController = self.viewController; 58 | [self.window makeKeyAndVisible]; 59 | return YES; 60 | } 61 | 62 | 63 | - (NSString*)stringFromFrontViewPosition:(FrontViewPosition)position 64 | { 65 | NSString *str = nil; 66 | if ( position == FrontViewPositionLeft ) str = @"FrontViewPositionLeft"; 67 | if ( position == FrontViewPositionRight ) str = @"FrontViewPositionRight"; 68 | if ( position == FrontViewPositionRightMost ) str = @"FrontViewPositionRightMost"; 69 | if ( position == FrontViewPositionRightMostRemoved ) str = @"FrontViewPositionRightMostRemoved"; 70 | return str; 71 | } 72 | 73 | 74 | - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position 75 | { 76 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 77 | } 78 | 79 | - (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position 80 | { 81 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 82 | } 83 | 84 | - (void)revealController:(SWRevealViewController *)revealController willRevealRearViewController:(UIViewController *)rearViewController 85 | { 86 | NSLog( @"%@", NSStringFromSelector(_cmd)); 87 | } 88 | 89 | - (void)revealController:(SWRevealViewController *)revealController didRevealRearViewController:(UIViewController *)rearViewController 90 | { 91 | NSLog( @"%@", NSStringFromSelector(_cmd)); 92 | } 93 | 94 | - (void)revealController:(SWRevealViewController *)revealController willHideRearViewController:(UIViewController *)rearViewController 95 | { 96 | NSLog( @"%@", NSStringFromSelector(_cmd)); 97 | } 98 | 99 | - (void)revealController:(SWRevealViewController *)revealController didHideRearViewController:(UIViewController *)rearViewController 100 | { 101 | NSLog( @"%@", NSStringFromSelector(_cmd)); 102 | } 103 | 104 | - (void)revealController:(SWRevealViewController *)revealController willShowFrontViewController:(UIViewController *)rearViewController 105 | { 106 | NSLog( @"%@", NSStringFromSelector(_cmd)); 107 | } 108 | 109 | - (void)revealController:(SWRevealViewController *)revealController didShowFrontViewController:(UIViewController *)rearViewController 110 | { 111 | NSLog( @"%@", NSStringFromSelector(_cmd)); 112 | } 113 | 114 | - (void)revealController:(SWRevealViewController *)revealController willHideFrontViewController:(UIViewController *)rearViewController 115 | { 116 | NSLog( @"%@", NSStringFromSelector(_cmd)); 117 | } 118 | 119 | - (void)revealController:(SWRevealViewController *)revealController didHideFrontViewController:(UIViewController *)rearViewController 120 | 121 | { 122 | NSLog( @"%@", NSStringFromSelector(_cmd)); 123 | } 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Default-568h@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/FrontViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import <UIKit/UIKit.h> 28 | 29 | @interface FrontViewController : UIViewController 30 | 31 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/FrontViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import "FrontViewController.h" 28 | #import "SWRevealViewController.h" 29 | 30 | @interface FrontViewController() 31 | 32 | // Private Methods: 33 | - (IBAction)pushExample:(id)sender; 34 | 35 | @end 36 | 37 | @implementation FrontViewController 38 | 39 | #pragma mark - View lifecycle 40 | 41 | 42 | - (void)viewDidLoad 43 | { 44 | [super viewDidLoad]; 45 | 46 | self.title = NSLocalizedString(@"Front View", nil); 47 | 48 | SWRevealViewController *revealController = [self revealViewController]; 49 | 50 | [self.navigationController.navigationBar addGestureRecognizer:revealController.panGestureRecognizer]; 51 | 52 | UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 53 | style:UIBarButtonItemStyleBordered target:revealController action:@selector(revealToggle:)]; 54 | 55 | self.navigationItem.leftBarButtonItem = revealButtonItem; 56 | } 57 | 58 | 59 | #pragma mark - Example Code 60 | 61 | - (IBAction)pushExample:(id)sender 62 | { 63 | UIViewController *stubController = [[UIViewController alloc] init]; 64 | stubController.view.backgroundColor = [UIColor whiteColor]; 65 | [self.navigationController pushViewController:stubController animated:YES]; 66 | } 67 | 68 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/MapViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import <UIKit/UIKit.h> 28 | 29 | @interface MapViewController : UIViewController 30 | 31 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/MapViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Original code: 24 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 25 | */ 26 | 27 | #import "MapViewController.h" 28 | #import "SWRevealViewController.h" 29 | 30 | @implementation MapViewController 31 | 32 | #pragma mark - View lifecycle 33 | 34 | - (void)viewDidLoad 35 | { 36 | [super viewDidLoad]; 37 | 38 | self.title = NSLocalizedString(@"Map View", nil); 39 | 40 | SWRevealViewController *revealController = [self revealViewController]; 41 | 42 | [self.navigationController.navigationBar addGestureRecognizer:revealController.panGestureRecognizer]; 43 | 44 | UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 45 | style:UIBarButtonItemStyleBordered target:revealController action:@selector(revealToggle:)]; 46 | 47 | self.navigationItem.leftBarButtonItem = revealButtonItem; 48 | } 49 | 50 | 51 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Project-Prefix.pch: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <Availability.h> 34 | 35 | #ifndef __IPHONE_4_0 36 | #warning "This project uses features only available in iOS SDK 4.0 and later." 37 | #endif 38 | 39 | #ifdef __OBJC__ 40 | #import <UIKit/UIKit.h> 41 | #import <Foundation/Foundation.h> 42 | #endif 43 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/RearViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import <UIKit/UIKit.h> 26 | 27 | @interface RearViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 28 | 29 | @property (nonatomic, retain) IBOutlet UITableView *rearTableView; 30 | //@property (nonatomic, retain) IBOutlet UIToolbar *rearToolBar; 31 | 32 | 33 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/RearViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2013 Joan Lluch <joan.lluch@sweetwilliamsl.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is furnished 10 | to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | */ 24 | 25 | #import "RearViewController.h" 26 | 27 | #import "SWRevealViewController.h" 28 | #import "FrontViewController.h" 29 | #import "MapViewController.h" 30 | 31 | @interface RearViewController() 32 | { 33 | NSInteger _presentedRow; 34 | } 35 | 36 | @end 37 | 38 | @implementation RearViewController 39 | 40 | @synthesize rearTableView = _rearTableView; 41 | 42 | /* 43 | * The following lines are crucial to understanding how the SWRevealViewController works. 44 | * 45 | * In this example, we show how a SWRevealViewController can be contained in another instance 46 | * of the same class. We have three scenarios of hierarchies as follows 47 | * 48 | * In the first scenario a FrontViewController is contained inside of a UINavigationController. 49 | * And the UINavigationController is contained inside of a SWRevealViewController. Thus the 50 | * following hierarchy is created: 51 | * 52 | * - SWRevealViewController is parent of: 53 | * - 1 UINavigationController is parent of: 54 | * - - 1.1 RearViewController 55 | * - 2 UINavigationController is parent of: 56 | * - - 2.1 FrontViewController 57 | * 58 | * In the second scenario a MapViewController is contained inside of a UINavigationController. 59 | * And the UINavigationController is contained inside of a SWRevealViewController. Thus the 60 | * following hierarchy is created: 61 | * 62 | * - SWRevealViewController is parent of: 63 | * - 1 UINavigationController is parent of: 64 | * - - 1.1 RearViewController 65 | * - 2 UINavigationController is parent of: 66 | * - - 1.2 MapViewController 67 | * 68 | * In the third scenario a SWRevealViewController is contained directly inside of another. 69 | * SWRevealController. Thus the following hierarchy is created: 70 | * 71 | * - SWRevealViewController is parent of: 72 | * - 1 UINavigationController is parent of: 73 | * - - 1.1 RearViewController 74 | * - 2 SWRevealViewController 75 | * - - ... 76 | * 77 | * The second SWRevealViewController on the third scenario can in turn contain anything. 78 | * On this example it may recursively contain any of the above, including again the third one 79 | */ 80 | 81 | - (void)viewDidLoad 82 | { 83 | [super viewDidLoad]; 84 | 85 | // We determine whether we have a grand parent SWRevealViewController, this means we are at least one level behind the hierarchy 86 | SWRevealViewController *parentRevealController = self.revealViewController; 87 | SWRevealViewController *grandParentRevealController = parentRevealController.revealViewController; 88 | 89 | UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 90 | style:UIBarButtonItemStyleBordered target:grandParentRevealController action:@selector(revealToggle:)]; 91 | 92 | // if we have a reveal controller as a grand parent, this means we are are being added as a 93 | // child of a detail (child) reveal controller, so we add a gesture recognizer provided by our grand parent to our 94 | // navigation bar as well as a "reveal" button, we also set 95 | if ( grandParentRevealController ) 96 | { 97 | // to present a title, we count the number of ancestor reveal controllers we have, this is of course 98 | // only a hack for demonstration purposes, on a real project you would have a model telling this. 99 | NSInteger level=0; 100 | UIViewController *controller = grandParentRevealController; 101 | while( nil != (controller = [controller revealViewController]) ) 102 | level++; 103 | 104 | NSString *title = [NSString stringWithFormat:@"Detail Level %d", level]; 105 | 106 | [self.navigationController.navigationBar addGestureRecognizer:grandParentRevealController.panGestureRecognizer]; 107 | self.navigationItem.leftBarButtonItem = revealButtonItem; 108 | self.navigationItem.title = title; 109 | } 110 | 111 | // otherwise, we are in the top reveal controller, so we just add a title 112 | else 113 | { 114 | self.navigationItem.title = @"Master"; 115 | } 116 | } 117 | 118 | - (void)viewWillAppear:(BOOL)animated 119 | { 120 | [super viewWillAppear:animated]; 121 | 122 | SWRevealViewController *grandParentRevealController = self.revealViewController.revealViewController; 123 | grandParentRevealController.bounceBackOnOverdraw = NO; 124 | } 125 | 126 | - (void)viewWillDisappear:(BOOL)animated 127 | { 128 | [super viewWillDisappear:animated]; 129 | 130 | SWRevealViewController *grandParentRevealController = self.revealViewController.revealViewController; 131 | grandParentRevealController.bounceBackOnOverdraw = YES; 132 | } 133 | 134 | 135 | #pragma marl - UITableView Data Source 136 | 137 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 138 | { 139 | return 5; 140 | } 141 | 142 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 143 | { 144 | static NSString *cellIdentifier = @"Cell"; 145 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 146 | NSInteger row = indexPath.row; 147 | 148 | if (nil == cell) 149 | { 150 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 151 | } 152 | 153 | NSString *text = nil; 154 | if (row == 0) 155 | { 156 | text = @"Front View Controller"; 157 | } 158 | else if (row == 1) 159 | { 160 | text = @"Map View Controller"; 161 | } 162 | else if (row == 2) 163 | { 164 | text = @"Enter Presentation Mode"; 165 | } 166 | else if (row == 3) 167 | { 168 | text = @"Resign Presentation Mode"; 169 | } 170 | else if (row == 4) 171 | { 172 | text = @"A RevealViewController !!"; 173 | } 174 | 175 | cell.textLabel.text = NSLocalizedString( text, nil ); 176 | 177 | return cell; 178 | } 179 | 180 | 181 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 182 | { 183 | // Grab a handle to the reveal controller, as if you'd do with a navigtion controller via self.navigationController. 184 | SWRevealViewController *revealController = self.revealViewController; 185 | 186 | // selecting row 187 | NSInteger row = indexPath.row; 188 | 189 | // if we are trying to push the same row or perform an operation that does not imply frontViewController replacement 190 | // we'll just set position and return 191 | 192 | if ( row == _presentedRow ) 193 | { 194 | [revealController setFrontViewPosition:FrontViewPositionLeft animated:YES]; 195 | return; 196 | } 197 | else if (row == 2) 198 | { 199 | [revealController setFrontViewPosition:FrontViewPositionRightMost animated:YES]; 200 | return; 201 | } 202 | else if (row == 3) 203 | { 204 | [revealController setFrontViewPosition:FrontViewPositionRight animated:YES]; 205 | return; 206 | } 207 | 208 | // otherwise we'll create a new frontViewController and push it with animation 209 | 210 | UIViewController *newFrontController = nil; 211 | 212 | if (row == 0) 213 | { 214 | FrontViewController *frontViewController = [[FrontViewController alloc] init]; 215 | newFrontController = [[UINavigationController alloc] initWithRootViewController:frontViewController]; 216 | } 217 | 218 | else if (row == 1) 219 | { 220 | MapViewController *mapViewController = [[MapViewController alloc] init]; 221 | newFrontController = [[UINavigationController alloc] initWithRootViewController:mapViewController]; 222 | } 223 | 224 | else if ( row == 4 ) 225 | { 226 | FrontViewController *frontViewController = [[FrontViewController alloc] init]; 227 | UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController]; 228 | 229 | RearViewController *rearViewController = [[RearViewController alloc] init]; 230 | UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearViewController]; 231 | 232 | SWRevealViewController *childRevealController = [[SWRevealViewController alloc] 233 | initWithRearViewController:rearNavigationController frontViewController:frontNavigationController]; 234 | 235 | childRevealController.rearViewRevealDisplacement = 0.0f; 236 | [childRevealController setFrontViewPosition:FrontViewPositionRight animated:NO]; 237 | 238 | newFrontController = childRevealController; 239 | } 240 | 241 | [revealController pushFrontViewController:newFrontController animated:YES]; 242 | 243 | _presentedRow = row; // <- store the presented row 244 | } 245 | 246 | 247 | 248 | @end -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/.DS_Store -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/21-skull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/21-skull.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/21-skull@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/21-skull@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/24-gift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/24-gift.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/24-gift@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/24-gift@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/28-star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/28-star.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/28-star@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/28-star@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/29-heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/29-heart.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/29-heart@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/29-heart@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/31-ipod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/31-ipod.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/31-ipod@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/31-ipod@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/38-airplane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/38-airplane.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/38-airplane@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/38-airplane@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/bg_blocks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/bg_blocks.jpg -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/bg_flowers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/bg_flowers.jpg -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/bg_grass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/bg_grass.jpg -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/reveal-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/reveal-icon.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/Resources/reveal-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample2/RevealControllerProject2/Resources/reveal-icon@2x.png -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/RevealControllerProject-Info.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>en</string> 7 | <key>CFBundleDisplayName</key> 8 | <string>${PRODUCT_NAME}</string> 9 | <key>CFBundleExecutable</key> 10 | <string>${EXECUTABLE_NAME}</string> 11 | <key>CFBundleIconFiles</key> 12 | <array/> 13 | <key>CFBundleIdentifier</key> 14 | <string>org.zuui.${PRODUCT_NAME:rfc1034identifier}</string> 15 | <key>CFBundleInfoDictionaryVersion</key> 16 | <string>6.0</string> 17 | <key>CFBundleName</key> 18 | <string>${PRODUCT_NAME}</string> 19 | <key>CFBundlePackageType</key> 20 | <string>APPL</string> 21 | <key>CFBundleShortVersionString</key> 22 | <string>1.0</string> 23 | <key>CFBundleSignature</key> 24 | <string>????</string> 25 | <key>CFBundleVersion</key> 26 | <string>1.0</string> 27 | <key>LSRequiresIPhoneOS</key> 28 | <true/> 29 | <key>UIRequiredDeviceCapabilities</key> 30 | <array> 31 | <string>armv7</string> 32 | </array> 33 | <key>UISupportedInterfaceOrientations</key> 34 | <array> 35 | <string>UIInterfaceOrientationPortrait</string> 36 | <string>UIInterfaceOrientationLandscapeLeft</string> 37 | <string>UIInterfaceOrientationLandscapeRight</string> 38 | <string>UIInterfaceOrientationPortraitUpsideDown</string> 39 | </array> 40 | <key>UISupportedInterfaceOrientations~ipad</key> 41 | <array> 42 | <string>UIInterfaceOrientationPortrait</string> 43 | <string>UIInterfaceOrientationLandscapeLeft</string> 44 | <string>UIInterfaceOrientationLandscapeRight</string> 45 | <string>UIInterfaceOrientationPortraitUpsideDown</string> 46 | </array> 47 | </dict> 48 | </plist> 49 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/en.lproj/FrontViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 3 | <data> 4 | <int key="IBDocument.SystemTarget">1536</int> 5 | <string key="IBDocument.SystemVersion">12E55</string> 6 | <string key="IBDocument.InterfaceBuilderVersion">4457.9</string> 7 | <string key="IBDocument.AppKitVersion">1187.39</string> 8 | <string key="IBDocument.HIToolboxVersion">626.00</string> 9 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 11 | <string key="NS.object.0">3682.9</string> 12 | </object> 13 | <array key="IBDocument.IntegratedClassDependencies"> 14 | <string>IBProxyObject</string> 15 | <string>IBUIButton</string> 16 | <string>IBUILabel</string> 17 | <string>IBUIView</string> 18 | </array> 19 | <array key="IBDocument.PluginDependencies"> 20 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 21 | </array> 22 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> 23 | <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 24 | <integer value="1" key="NS.object.0"/> 25 | </object> 26 | <array class="NSMutableArray" key="IBDocument.RootObjects" id="525581289"> 27 | <object class="IBProxyObject" id="339802132"> 28 | <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 29 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 30 | </object> 31 | <object class="IBProxyObject" id="374755718"> 32 | <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 33 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 34 | </object> 35 | <object class="IBUIView" id="651999010"> 36 | <nil key="NSNextResponder"/> 37 | <int key="NSvFlags">1298</int> 38 | <array class="NSMutableArray" key="NSSubviews"> 39 | <object class="IBUIButton" id="371304740"> 40 | <reference key="NSNextResponder" ref="651999010"/> 41 | <int key="NSvFlags">1314</int> 42 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 43 | <string key="NSFrame">{{20, 101}, {280, 37}}</string> 44 | <reference key="NSSuperview" ref="651999010"/> 45 | <bool key="IBUIOpaque">NO</bool> 46 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 47 | <int key="IBUIContentHorizontalAlignment">0</int> 48 | <int key="IBUIContentVerticalAlignment">0</int> 49 | <int key="IBUIButtonType">1</int> 50 | <string key="IBUINormalTitle">Push!</string> 51 | <object class="NSColor" key="IBUIHighlightedTitleColor" id="454092715"> 52 | <int key="NSColorSpace">3</int> 53 | <bytes key="NSWhite">MQA</bytes> 54 | </object> 55 | <object class="NSColor" key="IBUINormalTitleColor"> 56 | <int key="NSColorSpace">1</int> 57 | <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes> 58 | </object> 59 | <object class="NSColor" key="IBUINormalTitleShadowColor"> 60 | <int key="NSColorSpace">3</int> 61 | <bytes key="NSWhite">MC41AA</bytes> 62 | </object> 63 | <object class="IBUIFontDescription" key="IBUIFontDescription"> 64 | <int key="type">2</int> 65 | <double key="pointSize">15</double> 66 | </object> 67 | <object class="NSFont" key="IBUIFont"> 68 | <string key="NSName">HelveticaNeue-Bold</string> 69 | <double key="NSSize">15</double> 70 | <int key="NSfFlags">16</int> 71 | </object> 72 | </object> 73 | <object class="IBUILabel" id="13051846"> 74 | <reference key="NSNextResponder" ref="651999010"/> 75 | <int key="NSvFlags">1314</int> 76 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 77 | <string key="NSFrame">{{17, 152}, {286, 88}}</string> 78 | <reference key="NSSuperview" ref="651999010"/> 79 | <bool key="IBUIOpaque">NO</bool> 80 | <bool key="IBUIClipsSubviews">YES</bool> 81 | <int key="IBUIContentMode">7</int> 82 | <bool key="IBUIUserInteractionEnabled">NO</bool> 83 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 84 | <string key="IBUIText">Note: You may always reveal the rear view by panning your finger across the NavigationBar.</string> 85 | <object class="NSColor" key="IBUITextColor"> 86 | <int key="NSColorSpace">3</int> 87 | <bytes key="NSWhite">MC4zMTE3MDE2NDIzAA</bytes> 88 | </object> 89 | <nil key="IBUIHighlightedColor"/> 90 | <reference key="IBUIShadowColor" ref="454092715"/> 91 | <string key="IBUIShadowOffset">{0, 1}</string> 92 | <int key="IBUIBaselineAdjustment">1</int> 93 | <float key="IBUIMinimumFontSize">10</float> 94 | <int key="IBUINumberOfLines">5</int> 95 | <int key="IBUITextAlignment">1</int> 96 | <object class="IBUIFontDescription" key="IBUIFontDescription"> 97 | <int key="type">1</int> 98 | <double key="pointSize">17</double> 99 | </object> 100 | <object class="NSFont" key="IBUIFont"> 101 | <string key="NSName">HelveticaNeue</string> 102 | <double key="NSSize">17</double> 103 | <int key="NSfFlags">16</int> 104 | </object> 105 | <double key="preferredMaxLayoutWidth">286</double> 106 | </object> 107 | </array> 108 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 109 | <string key="NSFrame">{{0, 20}, {320, 480}}</string> 110 | <object class="NSColor" key="IBUIBackgroundColor"> 111 | <int key="NSColorSpace">1</int> 112 | <bytes key="NSRGB">MC44MjE5MDkyMTUzIDAuODYxMTk5ODE3NSAwLjkwNzc2MTE3NwA</bytes> 113 | </object> 114 | <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> 115 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 116 | </object> 117 | </array> 118 | <object class="IBObjectContainer" key="IBDocument.Objects"> 119 | <bool key="usesAutoincrementingIDs">NO</bool> 120 | <array class="NSMutableArray" key="connectionRecords"> 121 | <object class="IBConnectionRecord"> 122 | <object class="IBCocoaTouchOutletConnection" key="connection"> 123 | <string key="label">view</string> 124 | <reference key="source" ref="339802132"/> 125 | <reference key="destination" ref="651999010"/> 126 | </object> 127 | <string key="id">57</string> 128 | </object> 129 | <object class="IBConnectionRecord"> 130 | <object class="IBCocoaTouchEventConnection" key="connection"> 131 | <string key="label">pushExample:</string> 132 | <reference key="source" ref="371304740"/> 133 | <reference key="destination" ref="339802132"/> 134 | <int key="IBEventType">7</int> 135 | </object> 136 | <string key="id">59</string> 137 | </object> 138 | </array> 139 | <object class="IBMutableOrderedSet" key="objectRecords"> 140 | <array key="orderedObjects"> 141 | <object class="IBObjectRecord"> 142 | <string key="id">0</string> 143 | <array key="object" id="0"/> 144 | <reference key="children" ref="525581289"/> 145 | <nil key="parent"/> 146 | </object> 147 | <object class="IBObjectRecord"> 148 | <string key="id">-1</string> 149 | <reference key="object" ref="339802132"/> 150 | <reference key="parent" ref="0"/> 151 | <string key="objectName">File's Owner</string> 152 | </object> 153 | <object class="IBObjectRecord"> 154 | <string key="id">-2</string> 155 | <reference key="object" ref="374755718"/> 156 | <reference key="parent" ref="0"/> 157 | </object> 158 | <object class="IBObjectRecord"> 159 | <string key="id">1</string> 160 | <reference key="object" ref="651999010"/> 161 | <array class="NSMutableArray" key="children"> 162 | <reference ref="371304740"/> 163 | <reference ref="13051846"/> 164 | </array> 165 | <reference key="parent" ref="0"/> 166 | </object> 167 | <object class="IBObjectRecord"> 168 | <string key="id">58</string> 169 | <reference key="object" ref="371304740"/> 170 | <reference key="parent" ref="651999010"/> 171 | </object> 172 | <object class="IBObjectRecord"> 173 | <string key="id">60</string> 174 | <reference key="object" ref="13051846"/> 175 | <reference key="parent" ref="651999010"/> 176 | </object> 177 | </array> 178 | </object> 179 | <dictionary class="NSMutableDictionary" key="flattenedProperties"> 180 | <string key="-1.CustomClassName">FrontViewController</string> 181 | <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 182 | <boolean value="NO" key="-1.showNotes"/> 183 | <string key="-2.CustomClassName">UIResponder</string> 184 | <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 185 | <boolean value="NO" key="-2.showNotes"/> 186 | <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 187 | <reference key="1.IBUserGuides" ref="0"/> 188 | <boolean value="NO" key="1.showNotes"/> 189 | <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 190 | <reference key="58.IBUserGuides" ref="0"/> 191 | <boolean value="NO" key="58.showNotes"/> 192 | <string key="60.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 193 | <reference key="60.IBUserGuides" ref="0"/> 194 | <boolean value="NO" key="60.showNotes"/> 195 | </dictionary> 196 | <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 197 | <nil key="activeLocalization"/> 198 | <dictionary class="NSMutableDictionary" key="localizations"/> 199 | <nil key="sourceID"/> 200 | </object> 201 | <object class="IBClassDescriber" key="IBDocument.Classes"/> 202 | <int key="IBDocument.localizationMode">0</int> 203 | <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 204 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> 205 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> 206 | <real value="1536" key="NS.object.0"/> 207 | </object> 208 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> 209 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> 210 | <integer value="4600" key="NS.object.0"/> 211 | </object> 212 | <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 213 | <int key="IBDocument.defaultPropertyAccessControl">3</int> 214 | <string key="IBCocoaTouchPluginVersion">3682.9</string> 215 | </data> 216 | </archive> 217 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/en.lproj/MapViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 3 | <data> 4 | <int key="IBDocument.SystemTarget">1536</int> 5 | <string key="IBDocument.SystemVersion">12E55</string> 6 | <string key="IBDocument.InterfaceBuilderVersion">4457.9</string> 7 | <string key="IBDocument.AppKitVersion">1187.39</string> 8 | <string key="IBDocument.HIToolboxVersion">626.00</string> 9 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 11 | <string key="NS.object.0">3682.9</string> 12 | </object> 13 | <array key="IBDocument.IntegratedClassDependencies"> 14 | <string>IBMKMapView</string> 15 | <string>IBProxyObject</string> 16 | <string>IBUIView</string> 17 | </array> 18 | <array key="IBDocument.PluginDependencies"> 19 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 20 | </array> 21 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> 22 | <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 23 | <integer value="1" key="NS.object.0"/> 24 | </object> 25 | <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> 26 | <object class="IBProxyObject" id="372490531"> 27 | <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 28 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 29 | </object> 30 | <object class="IBProxyObject" id="975951072"> 31 | <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 32 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 33 | </object> 34 | <object class="IBUIView" id="191373211"> 35 | <reference key="NSNextResponder"/> 36 | <int key="NSvFlags">274</int> 37 | <array class="NSMutableArray" key="NSSubviews"> 38 | <object class="IBMKMapView" id="1042379543"> 39 | <reference key="NSNextResponder" ref="191373211"/> 40 | <int key="NSvFlags">274</int> 41 | <string key="NSFrameSize">{320, 480}</string> 42 | <reference key="NSSuperview" ref="191373211"/> 43 | <reference key="NSWindow"/> 44 | <string key="NSReuseIdentifierKey">_NS:800</string> 45 | <bool key="IBUIClipsSubviews">YES</bool> 46 | <bool key="IBUIMultipleTouchEnabled">YES</bool> 47 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 48 | </object> 49 | </array> 50 | <string key="NSFrame">{{0, 20}, {320, 460}}</string> 51 | <reference key="NSSuperview"/> 52 | <reference key="NSWindow"/> 53 | <reference key="NSNextKeyView" ref="1042379543"/> 54 | <object class="NSColor" key="IBUIBackgroundColor"> 55 | <int key="NSColorSpace">3</int> 56 | <bytes key="NSWhite">MQA</bytes> 57 | <object class="NSColorSpace" key="NSCustomColorSpace"> 58 | <int key="NSID">2</int> 59 | </object> 60 | </object> 61 | <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> 62 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 63 | </object> 64 | </array> 65 | <object class="IBObjectContainer" key="IBDocument.Objects"> 66 | <bool key="usesAutoincrementingIDs">NO</bool> 67 | <array class="NSMutableArray" key="connectionRecords"> 68 | <object class="IBConnectionRecord"> 69 | <object class="IBCocoaTouchOutletConnection" key="connection"> 70 | <string key="label">view</string> 71 | <reference key="source" ref="372490531"/> 72 | <reference key="destination" ref="191373211"/> 73 | </object> 74 | <string key="id">4</string> 75 | </object> 76 | </array> 77 | <object class="IBMutableOrderedSet" key="objectRecords"> 78 | <array key="orderedObjects"> 79 | <object class="IBObjectRecord"> 80 | <string key="id">0</string> 81 | <array key="object" id="0"/> 82 | <reference key="children" ref="1000"/> 83 | <nil key="parent"/> 84 | </object> 85 | <object class="IBObjectRecord"> 86 | <string key="id">1</string> 87 | <reference key="object" ref="191373211"/> 88 | <array class="NSMutableArray" key="children"> 89 | <reference ref="1042379543"/> 90 | </array> 91 | <reference key="parent" ref="0"/> 92 | </object> 93 | <object class="IBObjectRecord"> 94 | <string key="id">-1</string> 95 | <reference key="object" ref="372490531"/> 96 | <reference key="parent" ref="0"/> 97 | <string key="objectName">File's Owner</string> 98 | </object> 99 | <object class="IBObjectRecord"> 100 | <string key="id">-2</string> 101 | <reference key="object" ref="975951072"/> 102 | <reference key="parent" ref="0"/> 103 | </object> 104 | <object class="IBObjectRecord"> 105 | <string key="id">3</string> 106 | <reference key="object" ref="1042379543"/> 107 | <reference key="parent" ref="191373211"/> 108 | </object> 109 | </array> 110 | </object> 111 | <dictionary class="NSMutableDictionary" key="flattenedProperties"> 112 | <string key="-1.CustomClassName">MapViewController</string> 113 | <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 114 | <string key="-2.CustomClassName">UIResponder</string> 115 | <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 116 | <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 117 | <string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 118 | </dictionary> 119 | <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 120 | <nil key="activeLocalization"/> 121 | <dictionary class="NSMutableDictionary" key="localizations"/> 122 | <nil key="sourceID"/> 123 | </object> 124 | <object class="IBClassDescriber" key="IBDocument.Classes"> 125 | <array class="NSMutableArray" key="referencedPartialClassDescriptions"> 126 | <object class="IBPartialClassDescription"> 127 | <string key="className">MapViewController</string> 128 | <string key="superclassName">UIViewController</string> 129 | <object class="IBClassDescriptionSource" key="sourceIdentifier"> 130 | <string key="majorKey">IBProjectSource</string> 131 | <string key="minorKey">./Classes/MapViewController.h</string> 132 | </object> 133 | </object> 134 | </array> 135 | </object> 136 | <int key="IBDocument.localizationMode">0</int> 137 | <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 138 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> 139 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> 140 | <real value="1536" key="NS.object.0"/> 141 | </object> 142 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> 143 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> 144 | <integer value="4600" key="NS.object.0"/> 145 | </object> 146 | <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 147 | <int key="IBDocument.defaultPropertyAccessControl">3</int> 148 | <string key="IBCocoaTouchPluginVersion">3682.9</string> 149 | </data> 150 | </archive> 151 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/en.lproj/RearViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 3 | <data> 4 | <int key="IBDocument.SystemTarget">1536</int> 5 | <string key="IBDocument.SystemVersion">12E55</string> 6 | <string key="IBDocument.InterfaceBuilderVersion">4457.9</string> 7 | <string key="IBDocument.AppKitVersion">1187.39</string> 8 | <string key="IBDocument.HIToolboxVersion">626.00</string> 9 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 11 | <string key="NS.object.0">3682.9</string> 12 | </object> 13 | <array key="IBDocument.IntegratedClassDependencies"> 14 | <string>IBProxyObject</string> 15 | <string>IBUITableView</string> 16 | <string>IBUIView</string> 17 | </array> 18 | <array key="IBDocument.PluginDependencies"> 19 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 20 | </array> 21 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> 22 | <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 23 | <integer value="1" key="NS.object.0"/> 24 | </object> 25 | <array class="NSMutableArray" key="IBDocument.RootObjects" id="355575452"> 26 | <object class="IBProxyObject" id="831067090"> 27 | <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 28 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 29 | </object> 30 | <object class="IBProxyObject" id="994404709"> 31 | <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 32 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 33 | </object> 34 | <object class="IBUIView" id="337446926"> 35 | <nil key="NSNextResponder"/> 36 | <int key="NSvFlags">1300</int> 37 | <array class="NSMutableArray" key="NSSubviews"> 38 | <object class="IBUITableView" id="482626798"> 39 | <reference key="NSNextResponder" ref="337446926"/> 40 | <int key="NSvFlags">1298</int> 41 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 42 | <string key="NSFrameSize">{320, 460}</string> 43 | <reference key="NSSuperview" ref="337446926"/> 44 | <object class="NSColor" key="IBUIBackgroundColor"> 45 | <int key="NSColorSpace">3</int> 46 | <bytes key="NSWhite">MQA</bytes> 47 | </object> 48 | <bool key="IBUIClipsSubviews">YES</bool> 49 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 50 | <bool key="IBUIAlwaysBounceVertical">YES</bool> 51 | <int key="IBUISeparatorStyle">1</int> 52 | <int key="IBUISectionIndexMinimumDisplayRowCount">0</int> 53 | <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool> 54 | <float key="IBUIRowHeight">44</float> 55 | <float key="IBUISectionHeaderHeight">22</float> 56 | <float key="IBUISectionFooterHeight">22</float> 57 | </object> 58 | </array> 59 | <object class="NSPSMatrix" key="NSFrameMatrix"/> 60 | <string key="NSFrameSize">{320, 460}</string> 61 | <object class="NSColor" key="IBUIBackgroundColor"> 62 | <int key="NSColorSpace">3</int> 63 | <bytes key="NSWhite">MC4xOTc4MjE2MjQxAA</bytes> 64 | </object> 65 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 66 | </object> 67 | </array> 68 | <object class="IBObjectContainer" key="IBDocument.Objects"> 69 | <bool key="usesAutoincrementingIDs">NO</bool> 70 | <array class="NSMutableArray" key="connectionRecords"> 71 | <object class="IBConnectionRecord"> 72 | <object class="IBCocoaTouchOutletConnection" key="connection"> 73 | <string key="label">rearTableView</string> 74 | <reference key="source" ref="831067090"/> 75 | <reference key="destination" ref="482626798"/> 76 | </object> 77 | <string key="id">24</string> 78 | </object> 79 | <object class="IBConnectionRecord"> 80 | <object class="IBCocoaTouchOutletConnection" key="connection"> 81 | <string key="label">view</string> 82 | <reference key="source" ref="831067090"/> 83 | <reference key="destination" ref="337446926"/> 84 | </object> 85 | <string key="id">21</string> 86 | </object> 87 | <object class="IBConnectionRecord"> 88 | <object class="IBCocoaTouchOutletConnection" key="connection"> 89 | <string key="label">dataSource</string> 90 | <reference key="source" ref="482626798"/> 91 | <reference key="destination" ref="831067090"/> 92 | </object> 93 | <string key="id">22</string> 94 | </object> 95 | <object class="IBConnectionRecord"> 96 | <object class="IBCocoaTouchOutletConnection" key="connection"> 97 | <string key="label">delegate</string> 98 | <reference key="source" ref="482626798"/> 99 | <reference key="destination" ref="831067090"/> 100 | </object> 101 | <string key="id">23</string> 102 | </object> 103 | </array> 104 | <object class="IBMutableOrderedSet" key="objectRecords"> 105 | <array key="orderedObjects"> 106 | <object class="IBObjectRecord"> 107 | <string key="id">0</string> 108 | <array key="object" id="0"/> 109 | <reference key="children" ref="355575452"/> 110 | <nil key="parent"/> 111 | </object> 112 | <object class="IBObjectRecord"> 113 | <string key="id">-1</string> 114 | <reference key="object" ref="831067090"/> 115 | <reference key="parent" ref="0"/> 116 | <string key="objectName">File's Owner</string> 117 | </object> 118 | <object class="IBObjectRecord"> 119 | <string key="id">-2</string> 120 | <reference key="object" ref="994404709"/> 121 | <reference key="parent" ref="0"/> 122 | </object> 123 | <object class="IBObjectRecord"> 124 | <string key="id">1</string> 125 | <reference key="object" ref="337446926"/> 126 | <array class="NSMutableArray" key="children"> 127 | <reference ref="482626798"/> 128 | </array> 129 | <reference key="parent" ref="0"/> 130 | </object> 131 | <object class="IBObjectRecord"> 132 | <string key="id">20</string> 133 | <reference key="object" ref="482626798"/> 134 | <reference key="parent" ref="337446926"/> 135 | </object> 136 | </array> 137 | </object> 138 | <dictionary class="NSMutableDictionary" key="flattenedProperties"> 139 | <string key="-1.CustomClassName">RearViewController</string> 140 | <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 141 | <boolean value="NO" key="-1.showNotes"/> 142 | <string key="-2.CustomClassName">UIResponder</string> 143 | <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 144 | <boolean value="NO" key="-2.showNotes"/> 145 | <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 146 | <reference key="1.IBUserGuides" ref="0"/> 147 | <boolean value="NO" key="1.showNotes"/> 148 | <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 149 | <reference key="20.IBUserGuides" ref="0"/> 150 | <boolean value="NO" key="20.showNotes"/> 151 | </dictionary> 152 | <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 153 | <nil key="activeLocalization"/> 154 | <dictionary class="NSMutableDictionary" key="localizations"/> 155 | <nil key="sourceID"/> 156 | </object> 157 | <object class="IBClassDescriber" key="IBDocument.Classes"/> 158 | <int key="IBDocument.localizationMode">0</int> 159 | <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 160 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> 161 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> 162 | <real value="1536" key="NS.object.0"/> 163 | </object> 164 | <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> 165 | <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> 166 | <integer value="4600" key="NS.object.0"/> 167 | </object> 168 | <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 169 | <int key="IBDocument.defaultPropertyAccessControl">3</int> 170 | <string key="IBCocoaTouchPluginVersion">3682.9</string> 171 | </data> 172 | </archive> 173 | -------------------------------------------------------------------------------- /RevealControllerExample2/RevealControllerProject2/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <UIKit/UIKit.h> 34 | #import "AppDelegate.h" 35 | 36 | int main(int argc, char *argv[]) 37 | { 38 | @autoreleasepool 39 | { 40 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <Workspace 3 | version = "1.0"> 4 | <FileRef 5 | location = "self:RevealControllerProject.xcodeproj"> 6 | </FileRef> 7 | </Workspace> 8 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/.DS_Store -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @class SWRevealViewController; 12 | 13 | @interface AppDelegate : UIResponder <UIApplicationDelegate> 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | //@property (strong, nonatomic) SWRevealViewController *viewController; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | #import "SWRevealViewController.h" 12 | #import "FrontViewControllerImage.h" 13 | #import "RearMasterTableViewController.h" 14 | 15 | @interface AppDelegate()<SWRevealViewControllerDelegate> 16 | @end 17 | 18 | @implementation AppDelegate 19 | 20 | @synthesize window = _window; 21 | 22 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 23 | { 24 | UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 25 | self.window = window; 26 | 27 | RearMasterTableViewController *rearViewController = [[RearMasterTableViewController alloc] init]; 28 | FrontViewControllerImage *frontViewController = [[FrontViewControllerImage alloc] init]; 29 | 30 | SWRevealViewController *mainRevealController = 31 | [[SWRevealViewController alloc] initWithRearViewController:rearViewController frontViewController:frontViewController]; 32 | 33 | mainRevealController.rearViewRevealWidth = 60; 34 | mainRevealController.rearViewRevealOverdraw = 120; 35 | mainRevealController.bounceBackOnOverdraw = NO; 36 | mainRevealController.stableDragOnOverdraw = YES; 37 | [mainRevealController setFrontViewPosition:FrontViewPositionRight]; 38 | 39 | mainRevealController.delegate = self; 40 | 41 | self.window.rootViewController = mainRevealController; 42 | [self.window makeKeyAndVisible]; 43 | return YES; 44 | } 45 | 46 | 47 | - (NSString*)stringFromFrontViewPosition:(FrontViewPosition)position 48 | { 49 | NSString *str = nil; 50 | if ( position == FrontViewPositionLeft ) str = @"FrontViewPositionLeft"; 51 | if ( position == FrontViewPositionRight ) str = @"FrontViewPositionRight"; 52 | if ( position == FrontViewPositionRightMost ) str = @"FrontViewPositionRightMost"; 53 | if ( position == FrontViewPositionRightMostRemoved ) str = @"FrontViewPositionRightMostRemoved"; 54 | return str; 55 | } 56 | 57 | 58 | - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position 59 | { 60 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 61 | } 62 | 63 | - (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position 64 | { 65 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), [self stringFromFrontViewPosition:position]); 66 | } 67 | 68 | - (void)revealController:(SWRevealViewController *)revealController willRevealRearViewController:(UIViewController *)viewController 69 | { 70 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 71 | } 72 | 73 | - (void)revealController:(SWRevealViewController *)revealController didRevealRearViewController:(UIViewController *)viewController 74 | { 75 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 76 | } 77 | 78 | - (void)revealController:(SWRevealViewController *)revealController willHideRearViewController:(UIViewController *)viewController 79 | { 80 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 81 | } 82 | 83 | - (void)revealController:(SWRevealViewController *)revealController didHideRearViewController:(UIViewController *)viewController 84 | { 85 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 86 | } 87 | 88 | - (void)revealController:(SWRevealViewController *)revealController willShowFrontViewController:(UIViewController *)viewController 89 | { 90 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 91 | } 92 | 93 | - (void)revealController:(SWRevealViewController *)revealController didShowFrontViewController:(UIViewController *)viewController 94 | { 95 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 96 | } 97 | 98 | - (void)revealController:(SWRevealViewController *)revealController willHideFrontViewController:(UIViewController *)viewController 99 | { 100 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 101 | } 102 | 103 | - (void)revealController:(SWRevealViewController *)revealController didHideFrontViewController:(UIViewController *)viewController 104 | { 105 | NSLog( @"%@: %@", NSStringFromSelector(_cmd), viewController); 106 | } 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | @end -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Default-568h@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <UIKit/UIKit.h> 34 | 35 | @interface FrontViewController : UIViewController 36 | 37 | @end -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewController.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import "FrontViewController.h" 34 | #import "SWRevealViewController.h" 35 | 36 | @interface FrontViewController() 37 | 38 | // Private Methods: 39 | - (IBAction)pushExample:(id)sender; 40 | 41 | @end 42 | 43 | @implementation FrontViewController 44 | 45 | #pragma mark - View lifecycle 46 | 47 | 48 | - (void)viewDidLoad 49 | { 50 | [super viewDidLoad]; 51 | 52 | self.title = NSLocalizedString(@"Front View", nil); 53 | 54 | SWRevealViewController *revealController = [self revealViewController]; 55 | 56 | [self.navigationController.navigationBar addGestureRecognizer:revealController.panGestureRecognizer]; 57 | 58 | UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] 59 | style:UIBarButtonItemStyleBordered target:revealController action:@selector(revealToggle:)]; 60 | 61 | self.navigationItem.leftBarButtonItem = revealButtonItem; 62 | } 63 | 64 | 65 | #pragma mark - Example Code 66 | 67 | - (IBAction)pushExample:(id)sender 68 | { 69 | UIViewController *stubController = [[UIViewController alloc] init]; 70 | stubController.view.backgroundColor = [UIColor whiteColor]; 71 | [self.navigationController pushViewController:stubController animated:YES]; 72 | } 73 | 74 | @end -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewControllerImage.h: -------------------------------------------------------------------------------- 1 | // 2 | // FrontViewControllerBlocksViewController.h 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface FrontViewControllerImage : UIViewController 12 | 13 | @property (nonatomic) IBOutlet UIImageView *imageView; 14 | @property (nonatomic) IBOutlet UIButton *button; 15 | 16 | @property (nonatomic) UIImage *image; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewControllerImage.m: -------------------------------------------------------------------------------- 1 | // 2 | // FrontViewControllerBlocksViewController.m 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import "FrontViewControllerImage.h" 10 | #import "SWRevealViewController.h" 11 | 12 | @implementation FrontViewControllerImage 13 | 14 | 15 | - (void)viewDidLoad 16 | { 17 | [super viewDidLoad]; 18 | 19 | _imageView.image = _image; 20 | 21 | SWRevealViewController *revealController = self.revealViewController; 22 | 23 | [self.view addGestureRecognizer:revealController.panGestureRecognizer]; 24 | [_button addTarget:revealController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside]; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewControllerImage.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4514" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none"> 3 | <dependencies> 4 | <deployment defaultVersion="1536" identifier="iOS"/> 5 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3746"/> 6 | </dependencies> 7 | <objects> 8 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="FrontViewControllerImage"> 9 | <connections> 10 | <outlet property="button" destination="19" id="22"/> 11 | <outlet property="imageView" destination="4" id="23"/> 12 | <outlet property="view" destination="1" id="24"/> 13 | </connections> 14 | </placeholder> 15 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 16 | <view contentMode="scaleToFill" id="1"> 17 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 18 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 19 | <subviews> 20 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" id="4"> 21 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 22 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 23 | </imageView> 24 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" id="19"> 25 | <rect key="frame" x="6" y="20" width="46" height="30"/> 26 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 27 | <inset key="insetFor6xAndEarlier" minX="0.0" minY="20" maxX="0.0" maxY="-20"/> 28 | <fontDescription key="fontDescription" type="boldSystem" size="button"/> 29 | <state key="normal" image="reveal-icon.png"> 30 | <color key="titleColor" red="0.1960784314" green="0.30980392159999998" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/> 31 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> 32 | </state> 33 | <state key="highlighted"> 34 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 35 | </state> 36 | </button> 37 | </subviews> 38 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> 39 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> 40 | <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> 41 | </view> 42 | </objects> 43 | <resources> 44 | <image name="reveal-icon.png" width="22" height="17"/> 45 | </resources> 46 | </document> -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewControllerLabel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FrontViewControllerBlocksViewController.h 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface FrontViewControllerLabel : UIViewController 12 | 13 | @property (nonatomic) IBOutlet UILabel *label; 14 | @property (nonatomic) IBOutlet UIButton *button; 15 | 16 | @property (nonatomic) NSString *text; 17 | @end 18 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewControllerLabel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FrontViewControllerBlocksViewController.m 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import "FrontViewControllerLabel.h" 10 | #import "SWRevealViewController.h" 11 | 12 | @implementation FrontViewControllerLabel 13 | 14 | 15 | - (void)viewDidLoad 16 | { 17 | [super viewDidLoad]; 18 | 19 | _label.text = _text; 20 | 21 | SWRevealViewController *revealController = self.revealViewController; 22 | 23 | [self.view addGestureRecognizer:revealController.panGestureRecognizer]; 24 | [_button addTarget:revealController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside]; 25 | } 26 | 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/FrontViewControllerLabel.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4514" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none"> 3 | <dependencies> 4 | <deployment defaultVersion="1536" identifier="iOS"/> 5 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3746"/> 6 | </dependencies> 7 | <objects> 8 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="FrontViewControllerLabel"> 9 | <connections> 10 | <outlet property="button" destination="19" id="22"/> 11 | <outlet property="label" destination="25" id="26"/> 12 | <outlet property="view" destination="1" id="24"/> 13 | </connections> 14 | </placeholder> 15 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 16 | <view contentMode="scaleToFill" id="1"> 17 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 18 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 19 | <subviews> 20 | <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="25"> 21 | <rect key="frame" x="0.0" y="230" width="320" height="107"/> 22 | <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/> 23 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> 24 | <fontDescription key="fontDescription" type="boldSystem" pointSize="30"/> 25 | <color key="textColor" red="0.50196081400000003" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> 26 | <nil key="highlightedColor"/> 27 | <color key="shadowColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 28 | <size key="shadowOffset" width="0.0" height="2"/> 29 | </label> 30 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="19"> 31 | <rect key="frame" x="6" y="20" width="46" height="30"/> 32 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 33 | <inset key="insetFor6xAndEarlier" minX="0.0" minY="20" maxX="0.0" maxY="-20"/> 34 | <fontDescription key="fontDescription" type="boldSystem" size="button"/> 35 | <state key="normal" image="reveal-icon.png"> 36 | <color key="titleColor" red="0.1960784314" green="0.30980392159999998" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/> 37 | <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> 38 | </state> 39 | <state key="highlighted"> 40 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 41 | </state> 42 | </button> 43 | </subviews> 44 | <color key="backgroundColor" cocoaTouchSystemColor="tableCellGroupedBackgroundColor"/> 45 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> 46 | <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> 47 | </view> 48 | </objects> 49 | <resources> 50 | <image name="reveal-icon.png" width="22" height="17"/> 51 | </resources> 52 | </document> -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Project-Prefix.pch: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <Availability.h> 34 | 35 | #ifndef __IPHONE_4_0 36 | #warning "This project uses features only available in iOS SDK 4.0 and later." 37 | #endif 38 | 39 | #ifdef __OBJC__ 40 | #import <UIKit/UIKit.h> 41 | #import <Foundation/Foundation.h> 42 | #endif 43 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RearMasterTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RearMasterTableViewController.h 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface RearMasterTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RearMasterTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // RearMasterTableViewController.m 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import "RearMasterTableViewController.h" 10 | 11 | #import "SWRevealViewController.h" 12 | 13 | #import "FrontViewControllerImage.h" 14 | #import "FrontViewControllerLabel.h" 15 | #import "RearTableViewController.h" 16 | 17 | 18 | @implementation RearMasterTableViewController 19 | { 20 | NSInteger _previouslySelectedRow; 21 | } 22 | 23 | - (id)initWithStyle:(UITableViewStyle)style 24 | { 25 | self = [super initWithStyle:style]; 26 | if (self) 27 | { 28 | // Custom initialization 29 | } 30 | return self; 31 | } 32 | 33 | - (void)viewDidLoad 34 | { 35 | [super viewDidLoad]; 36 | self.clearsSelectionOnViewWillAppear = NO; 37 | self.tableView.backgroundColor = [UIColor colorWithWhite:0.3 alpha:1.0]; 38 | self.tableView.separatorColor = [UIColor colorWithWhite:0.5 alpha:1.0]; 39 | } 40 | 41 | - (void)viewWillAppear:(BOOL)animated 42 | { 43 | } 44 | 45 | 46 | - (UIStatusBarStyle)preferredStatusBarStyle 47 | { 48 | return UIStatusBarStyleLightContent; 49 | } 50 | 51 | #pragma mark - Table view data source 52 | 53 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 54 | { 55 | _previouslySelectedRow = -1; 56 | return 1; 57 | } 58 | 59 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 60 | { 61 | return 6; 62 | } 63 | 64 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 65 | { 66 | static NSString *CellIdentifier = @"Cell"; 67 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 68 | if (cell == nil) 69 | { 70 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 71 | } 72 | 73 | NSString *text = nil; 74 | switch ( indexPath.row ) 75 | { 76 | case 0: text = @"heart.png"; break; 77 | case 1: text = @"skull.png"; break; 78 | case 2: text = @"gift.png"; break; 79 | case 3: text = @"airplane.png"; break; 80 | case 4: text = @"star.png"; break; 81 | case 5: text = @" ... More"; break; 82 | } 83 | 84 | cell.imageView.image = [UIImage imageNamed:text]; 85 | cell.imageView.frame = CGRectMake(0,0,44,44); 86 | cell.textLabel.text = text; 87 | cell.textLabel.textColor = [UIColor colorWithWhite:1.0 alpha:1.0]; 88 | return cell; 89 | } 90 | 91 | 92 | - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 93 | { 94 | cell.backgroundColor = self.tableView.backgroundColor; 95 | 96 | } 97 | 98 | #pragma mark - Table view delegate 99 | 100 | 101 | 102 | 103 | 104 | - (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath 105 | { 106 | return indexPath; 107 | } 108 | 109 | 110 | 111 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 112 | { 113 | SWRevealViewController *revealController = self.revealViewController; 114 | 115 | NSInteger row = indexPath.row; 116 | 117 | if ( row == _previouslySelectedRow ) 118 | { 119 | [revealController revealToggleAnimated:YES]; 120 | return; 121 | } 122 | 123 | _previouslySelectedRow = row; 124 | 125 | NSString *text = nil; 126 | switch ( row ) 127 | { 128 | case 0: text = @"bg_flowers.jpg"; break; 129 | case 1: text = @"bg_blocks.jpg"; break; 130 | case 2: text = @"bg_grass.jpg"; break; 131 | case 3: text = @"Hello America!"; break; 132 | case 4: text = @"Best Wishes!"; break; 133 | } 134 | 135 | UIViewController *frontController = nil; 136 | switch ( row ) 137 | { 138 | case 0: 139 | case 1: 140 | case 2: 141 | { 142 | FrontViewControllerImage *imageController = [[FrontViewControllerImage alloc] init]; 143 | imageController.image = [UIImage imageNamed:text]; 144 | frontController = imageController; 145 | break; 146 | } 147 | 148 | case 3: 149 | case 4: 150 | { 151 | FrontViewControllerLabel *labelController = [[FrontViewControllerLabel alloc] init]; 152 | labelController.text = text; 153 | frontController = labelController; 154 | break; 155 | } 156 | 157 | case 5: 158 | { 159 | RearTableViewController *rearViewController = [[RearTableViewController alloc] init]; 160 | FrontViewControllerImage *frontViewController = [[FrontViewControllerImage alloc] init]; 161 | [frontViewController setImage:[UIImage imageNamed:@"bg_flowers.jpg"]]; 162 | 163 | SWRevealViewController *childRevealController = 164 | [[SWRevealViewController alloc] initWithRearViewController:rearViewController frontViewController:frontViewController]; 165 | 166 | #define NoRevealOverdraw true 167 | #if NoRevealOverdraw 168 | childRevealController.rearViewRevealWidth = 60; 169 | childRevealController.rearViewRevealOverdraw = 120; 170 | childRevealController.bounceBackOnOverdraw = NO; 171 | childRevealController.stableDragOnOverdraw = YES; 172 | #else 173 | childRevealController.rearViewRevealWidth = 200; 174 | #endif 175 | childRevealController.rearViewRevealDisplacement = 0; 176 | 177 | [childRevealController setFrontViewPosition:FrontViewPositionRight animated:NO]; 178 | frontController = childRevealController; 179 | break; 180 | } 181 | } 182 | 183 | if ( row != 5 ) 184 | { 185 | [revealController setFrontViewController:frontController animated:YES]; //sf 186 | [revealController setFrontViewPosition:FrontViewPositionRight animated:YES]; 187 | } 188 | else 189 | { 190 | [revealController setFrontViewController:frontController animated:YES]; //sf 191 | [revealController setFrontViewPosition:FrontViewPositionRightMost animated:YES]; 192 | } 193 | } 194 | 195 | @end 196 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RearMasterTableViewControllerv.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6185.7" systemVersion="13D65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none"> 3 | <dependencies> 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6181.2"/> 5 | </dependencies> 6 | <objects> 7 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RearMasterTableViewController"> 8 | <connections> 9 | <outlet property="view" destination="4" id="5"/> 10 | </connections> 11 | </placeholder> 12 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 13 | <tableView opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" bouncesZoom="NO" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="4"> 14 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 15 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 16 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 17 | <connections> 18 | <outlet property="dataSource" destination="-1" id="6"/> 19 | <outlet property="delegate" destination="-1" id="7"/> 20 | </connections> 21 | </tableView> 22 | </objects> 23 | <simulatedMetricsContainer key="defaultSimulatedMetrics"> 24 | <simulatedStatusBarMetrics key="statusBar"/> 25 | <simulatedOrientationMetrics key="orientation"/> 26 | <simulatedScreenMetrics key="destination" type="retina4"> 27 | <size key="portraitSize" width="320" height="568"/> 28 | <size key="landscapeSize" width="568" height="320"/> 29 | </simulatedScreenMetrics> 30 | </simulatedMetricsContainer> 31 | </document> 32 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RearTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RearTableViewController.h 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface RearTableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RearTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // RearTableViewController.m 3 | // RevealControllerProject3 4 | // 5 | // Created by Joan on 30/12/12. 6 | // 7 | // 8 | 9 | #import "RearTableViewController.h" 10 | 11 | #import "SWRevealViewController.h" 12 | 13 | #import "FrontViewControllerImage.h" 14 | #import "FrontViewControllerLabel.h" 15 | 16 | 17 | @implementation RearTableViewController 18 | { 19 | NSInteger _previouslySelectedRow; 20 | } 21 | 22 | 23 | - (id)initWithStyle:(UITableViewStyle)style 24 | { 25 | self = [super initWithStyle:style]; 26 | if (self) 27 | { 28 | // Custom initialization 29 | self.clearsSelectionOnViewWillAppear = NO; 30 | } 31 | return self; 32 | } 33 | 34 | 35 | - (void)viewDidLoad 36 | { 37 | [super viewDidLoad]; 38 | 39 | SWRevealViewController *revealController = self.revealViewController; 40 | SWRevealViewController *grandParentRevealController = revealController.revealViewController; 41 | 42 | [self.view addGestureRecognizer:grandParentRevealController.panGestureRecognizer]; 43 | 44 | 45 | // self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0); 46 | 47 | 48 | //[_button addTarget:revealController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside]; 49 | } 50 | 51 | //- (void)viewWillAppear:(BOOL)animated 52 | //{ 53 | // NSLog( @"%@: %d", NSStringFromSelector(_cmd), animated); 54 | //} 55 | // 56 | //- (void)viewDidAppear:(BOOL)animated 57 | //{ 58 | // 59 | // NSLog( @"%@: %d", NSStringFromSelector(_cmd), animated); 60 | //} 61 | // 62 | //- (void)viewWillDisappear:(BOOL)animated 63 | //{ 64 | // 65 | // NSLog( @"%@: %d", NSStringFromSelector(_cmd), animated); 66 | //} 67 | // 68 | //- (void)viewDidDisappear:(BOOL)animated 69 | //{ 70 | // 71 | // NSLog( @"%@: %d", NSStringFromSelector(_cmd), animated); 72 | //} 73 | 74 | 75 | #pragma mark - Table view data source 76 | 77 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 78 | { 79 | _previouslySelectedRow = -1; 80 | return 1; 81 | } 82 | 83 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 84 | { 85 | return 6; 86 | } 87 | 88 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 89 | { 90 | static NSString *CellIdentifier = @"Cell"; 91 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 92 | if (cell == nil) 93 | { 94 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 95 | } 96 | 97 | NSString *text = nil; 98 | switch ( indexPath.row ) 99 | { 100 | case 0: text = @"Image 1"; break; 101 | case 1: text = @"Image 2"; break; 102 | case 2: text = @"Image 3"; break; 103 | case 3: text = @"Label 1"; break; 104 | case 4: text = @"Label 2"; break; 105 | case 5: text = @"Label 3"; break; 106 | } 107 | 108 | cell.textLabel.text = text; 109 | return cell; 110 | } 111 | 112 | 113 | #pragma mark - Table view delegate 114 | 115 | 116 | - (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath 117 | { 118 | return indexPath; 119 | } 120 | 121 | 122 | 123 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 124 | { 125 | SWRevealViewController *revealController = self.revealViewController; 126 | 127 | NSInteger row = indexPath.row; 128 | 129 | if ( row == _previouslySelectedRow ) 130 | { 131 | [revealController revealToggleAnimated:YES]; 132 | return; 133 | } 134 | 135 | _previouslySelectedRow = row; 136 | 137 | NSString *text = nil; 138 | switch ( row ) 139 | { 140 | case 0: text = @"bg_flowers.jpg"; break; 141 | case 1: text = @"bg_blocks.jpg"; break; 142 | case 2: text = @"bg_grass.jpg"; break; 143 | case 3: text = @"Hello World!"; break; 144 | case 4: text = @"Hello America!"; break; 145 | case 5: text = @"Best Wishes!"; break; 146 | } 147 | 148 | UIViewController *frontController = nil; 149 | switch ( row ) 150 | { 151 | case 0: 152 | case 1: 153 | case 2: 154 | frontController = [[FrontViewControllerImage alloc] init]; 155 | ((FrontViewControllerImage*)frontController).image = [UIImage imageNamed:text]; 156 | break; 157 | 158 | case 3: 159 | case 4: 160 | case 5: 161 | frontController = [[FrontViewControllerLabel alloc] init]; 162 | ((FrontViewControllerLabel*)frontController).text = text; 163 | break; 164 | } 165 | 166 | [revealController pushFrontViewController:frontController animated:YES]; 167 | } 168 | 169 | @end 170 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RearTableViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4514" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none"> 3 | <dependencies> 4 | <deployment defaultVersion="1536" identifier="iOS"/> 5 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3746"/> 6 | </dependencies> 7 | <objects> 8 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RearTableViewController"> 9 | <connections> 10 | <outlet property="view" destination="4" id="5"/> 11 | </connections> 12 | </placeholder> 13 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 14 | <tableView opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" bouncesZoom="NO" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="4"> 15 | <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 16 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 17 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 18 | <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> 19 | <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> 20 | <connections> 21 | <outlet property="dataSource" destination="-1" id="6"/> 22 | <outlet property="delegate" destination="-1" id="7"/> 23 | </connections> 24 | </tableView> 25 | </objects> 26 | </document> -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/.DS_Store -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/airplane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/airplane.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/airplane@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/airplane@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/bg_blocks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/bg_blocks.jpg -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/bg_flowers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/bg_flowers.jpg -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/bg_grass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/bg_grass.jpg -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/gift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/gift.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/gift@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/gift@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/heart.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/heart@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/heart@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/ipod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/ipod.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/ipod@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/ipod@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/reveal-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/reveal-icon.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/reveal-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/reveal-icon@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/skull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/skull.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/skull@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/skull@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/star.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/Resources/star@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/Resources/star@2x.png -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/RevealControllerProject-Info.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>en</string> 7 | <key>CFBundleDisplayName</key> 8 | <string>${PRODUCT_NAME}</string> 9 | <key>CFBundleExecutable</key> 10 | <string>${EXECUTABLE_NAME}</string> 11 | <key>CFBundleIconFiles</key> 12 | <array/> 13 | <key>CFBundleIdentifier</key> 14 | <string>org.zuui.${PRODUCT_NAME:rfc1034identifier}</string> 15 | <key>CFBundleInfoDictionaryVersion</key> 16 | <string>6.0</string> 17 | <key>CFBundleName</key> 18 | <string>${PRODUCT_NAME}</string> 19 | <key>CFBundlePackageType</key> 20 | <string>APPL</string> 21 | <key>CFBundleShortVersionString</key> 22 | <string>1.0</string> 23 | <key>CFBundleSignature</key> 24 | <string>????</string> 25 | <key>CFBundleVersion</key> 26 | <string>1.0</string> 27 | <key>LSRequiresIPhoneOS</key> 28 | <true/> 29 | <key>UIRequiredDeviceCapabilities</key> 30 | <array> 31 | <string>armv7</string> 32 | </array> 33 | <key>UISupportedInterfaceOrientations</key> 34 | <array> 35 | <string>UIInterfaceOrientationPortrait</string> 36 | <string>UIInterfaceOrientationLandscapeLeft</string> 37 | <string>UIInterfaceOrientationLandscapeRight</string> 38 | <string>UIInterfaceOrientationPortraitUpsideDown</string> 39 | </array> 40 | <key>UISupportedInterfaceOrientations~ipad</key> 41 | <array> 42 | <string>UIInterfaceOrientationPortrait</string> 43 | <string>UIInterfaceOrientationLandscapeLeft</string> 44 | <string>UIInterfaceOrientationLandscapeRight</string> 45 | <string>UIInterfaceOrientationPortraitUpsideDown</string> 46 | </array> 47 | </dict> 48 | </plist> 49 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/en.lproj/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerExample3/RevealControllerProject3/en.lproj/.DS_Store -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/en.lproj/FrontViewController.xib: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> 3 | <data> 4 | <int key="IBDocument.SystemTarget">1280</int> 5 | <string key="IBDocument.SystemVersion">11C74</string> 6 | <string key="IBDocument.InterfaceBuilderVersion">1938</string> 7 | <string key="IBDocument.AppKitVersion">1138.23</string> 8 | <string key="IBDocument.HIToolboxVersion">567.00</string> 9 | <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 10 | <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 11 | <string key="NS.object.0">933</string> 12 | </object> 13 | <array key="IBDocument.IntegratedClassDependencies"> 14 | <string>IBUIButton</string> 15 | <string>IBUIView</string> 16 | <string>IBUILabel</string> 17 | <string>IBProxyObject</string> 18 | </array> 19 | <array key="IBDocument.PluginDependencies"> 20 | <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 21 | </array> 22 | <object class="NSMutableDictionary" key="IBDocument.Metadata"> 23 | <string key="NS.key.0">PluginDependencyRecalculationVersion</string> 24 | <integer value="1" key="NS.object.0"/> 25 | </object> 26 | <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> 27 | <object class="IBProxyObject" id="372490531"> 28 | <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> 29 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 30 | </object> 31 | <object class="IBProxyObject" id="975951072"> 32 | <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> 33 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 34 | </object> 35 | <object class="IBUIView" id="191373211"> 36 | <reference key="NSNextResponder"/> 37 | <int key="NSvFlags">282</int> 38 | <array class="NSMutableArray" key="NSSubviews"> 39 | <object class="IBUIButton" id="744290874"> 40 | <reference key="NSNextResponder" ref="191373211"/> 41 | <int key="NSvFlags">290</int> 42 | <string key="NSFrame">{{20, 20}, {280, 37}}</string> 43 | <reference key="NSSuperview" ref="191373211"/> 44 | <reference key="NSWindow"/> 45 | <reference key="NSNextKeyView" ref="1032730495"/> 46 | <string key="NSReuseIdentifierKey">_NS:225</string> 47 | <bool key="IBUIOpaque">NO</bool> 48 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 49 | <int key="IBUIContentHorizontalAlignment">0</int> 50 | <int key="IBUIContentVerticalAlignment">0</int> 51 | <int key="IBUIButtonType">1</int> 52 | <string key="IBUINormalTitle">Push!</string> 53 | <object class="NSColor" key="IBUIHighlightedTitleColor" id="706489802"> 54 | <int key="NSColorSpace">3</int> 55 | <bytes key="NSWhite">MQA</bytes> 56 | </object> 57 | <object class="NSColor" key="IBUINormalTitleColor"> 58 | <int key="NSColorSpace">1</int> 59 | <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes> 60 | </object> 61 | <object class="NSColor" key="IBUINormalTitleShadowColor"> 62 | <int key="NSColorSpace">3</int> 63 | <bytes key="NSWhite">MC41AA</bytes> 64 | </object> 65 | <object class="IBUIFontDescription" key="IBUIFontDescription"> 66 | <int key="type">2</int> 67 | <double key="pointSize">15</double> 68 | </object> 69 | <object class="NSFont" key="IBUIFont"> 70 | <string key="NSName">Helvetica-Bold</string> 71 | <double key="NSSize">15</double> 72 | <int key="NSfFlags">16</int> 73 | </object> 74 | </object> 75 | <object class="IBUILabel" id="1032730495"> 76 | <reference key="NSNextResponder" ref="191373211"/> 77 | <int key="NSvFlags">290</int> 78 | <string key="NSFrame">{{20, 72}, {286, 88}}</string> 79 | <reference key="NSSuperview" ref="191373211"/> 80 | <reference key="NSWindow"/> 81 | <reference key="NSNextKeyView"/> 82 | <string key="NSReuseIdentifierKey">_NS:328</string> 83 | <bool key="IBUIOpaque">NO</bool> 84 | <bool key="IBUIClipsSubviews">YES</bool> 85 | <int key="IBUIContentMode">7</int> 86 | <bool key="IBUIUserInteractionEnabled">NO</bool> 87 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 88 | <string key="IBUIText">Note: You may always reveal the rear view by panning your finger across the NavigationBar.</string> 89 | <object class="NSColor" key="IBUITextColor"> 90 | <int key="NSColorSpace">3</int> 91 | <bytes key="NSWhite">MC4zMTE3MDE2NDIzAA</bytes> 92 | </object> 93 | <nil key="IBUIHighlightedColor"/> 94 | <reference key="IBUIShadowColor" ref="706489802"/> 95 | <string key="IBUIShadowOffset">{0, 1}</string> 96 | <int key="IBUIBaselineAdjustment">1</int> 97 | <float key="IBUIMinimumFontSize">10</float> 98 | <int key="IBUINumberOfLines">5</int> 99 | <int key="IBUITextAlignment">1</int> 100 | <object class="IBUIFontDescription" key="IBUIFontDescription"> 101 | <int key="type">1</int> 102 | <double key="pointSize">17</double> 103 | </object> 104 | <object class="NSFont" key="IBUIFont"> 105 | <string key="NSName">Helvetica</string> 106 | <double key="NSSize">17</double> 107 | <int key="NSfFlags">16</int> 108 | </object> 109 | </object> 110 | </array> 111 | <string key="NSFrame">{{0, 64}, {320, 416}}</string> 112 | <reference key="NSSuperview"/> 113 | <reference key="NSWindow"/> 114 | <reference key="NSNextKeyView" ref="744290874"/> 115 | <object class="NSColor" key="IBUIBackgroundColor"> 116 | <int key="NSColorSpace">1</int> 117 | <bytes key="NSRGB">MC44MjE5MDkyMTUzIDAuODYxMTk5ODE3NSAwLjkwNzc2MTE3NwA</bytes> 118 | </object> 119 | <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> 120 | <object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics"> 121 | <bool key="IBUIPrompted">NO</bool> 122 | </object> 123 | <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> 124 | </object> 125 | </array> 126 | <object class="IBObjectContainer" key="IBDocument.Objects"> 127 | <array class="NSMutableArray" key="connectionRecords"> 128 | <object class="IBConnectionRecord"> 129 | <object class="IBCocoaTouchOutletConnection" key="connection"> 130 | <string key="label">view</string> 131 | <reference key="source" ref="372490531"/> 132 | <reference key="destination" ref="191373211"/> 133 | </object> 134 | <int key="connectionID">57</int> 135 | </object> 136 | <object class="IBConnectionRecord"> 137 | <object class="IBCocoaTouchEventConnection" key="connection"> 138 | <string key="label">pushExample:</string> 139 | <reference key="source" ref="744290874"/> 140 | <reference key="destination" ref="372490531"/> 141 | <int key="IBEventType">7</int> 142 | </object> 143 | <int key="connectionID">59</int> 144 | </object> 145 | </array> 146 | <object class="IBMutableOrderedSet" key="objectRecords"> 147 | <array key="orderedObjects"> 148 | <object class="IBObjectRecord"> 149 | <int key="objectID">0</int> 150 | <array key="object" id="0"/> 151 | <reference key="children" ref="1000"/> 152 | <nil key="parent"/> 153 | </object> 154 | <object class="IBObjectRecord"> 155 | <int key="objectID">-1</int> 156 | <reference key="object" ref="372490531"/> 157 | <reference key="parent" ref="0"/> 158 | <string key="objectName">File's Owner</string> 159 | </object> 160 | <object class="IBObjectRecord"> 161 | <int key="objectID">-2</int> 162 | <reference key="object" ref="975951072"/> 163 | <reference key="parent" ref="0"/> 164 | </object> 165 | <object class="IBObjectRecord"> 166 | <int key="objectID">1</int> 167 | <reference key="object" ref="191373211"/> 168 | <array class="NSMutableArray" key="children"> 169 | <reference ref="744290874"/> 170 | <reference ref="1032730495"/> 171 | </array> 172 | <reference key="parent" ref="0"/> 173 | </object> 174 | <object class="IBObjectRecord"> 175 | <int key="objectID">58</int> 176 | <reference key="object" ref="744290874"/> 177 | <reference key="parent" ref="191373211"/> 178 | </object> 179 | <object class="IBObjectRecord"> 180 | <int key="objectID">60</int> 181 | <reference key="object" ref="1032730495"/> 182 | <reference key="parent" ref="191373211"/> 183 | </object> 184 | </array> 185 | </object> 186 | <dictionary class="NSMutableDictionary" key="flattenedProperties"> 187 | <string key="-1.CustomClassName">FrontViewController</string> 188 | <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 189 | <string key="-2.CustomClassName">UIResponder</string> 190 | <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 191 | <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 192 | <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 193 | <string key="60.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 194 | </dictionary> 195 | <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> 196 | <nil key="activeLocalization"/> 197 | <dictionary class="NSMutableDictionary" key="localizations"/> 198 | <nil key="sourceID"/> 199 | <int key="maxID">60</int> 200 | </object> 201 | <object class="IBClassDescriber" key="IBDocument.Classes"> 202 | <array class="NSMutableArray" key="referencedPartialClassDescriptions"> 203 | <object class="IBPartialClassDescription"> 204 | <string key="className">FrontViewController</string> 205 | <string key="superclassName">UIViewController</string> 206 | <object class="NSMutableDictionary" key="actions"> 207 | <string key="NS.key.0">pushExample:</string> 208 | <string key="NS.object.0">id</string> 209 | </object> 210 | <object class="NSMutableDictionary" key="actionInfosByName"> 211 | <string key="NS.key.0">pushExample:</string> 212 | <object class="IBActionInfo" key="NS.object.0"> 213 | <string key="name">pushExample:</string> 214 | <string key="candidateClassName">id</string> 215 | </object> 216 | </object> 217 | <object class="IBClassDescriptionSource" key="sourceIdentifier"> 218 | <string key="majorKey">IBProjectSource</string> 219 | <string key="minorKey">./Classes/FrontViewController.h</string> 220 | </object> 221 | </object> 222 | </array> 223 | </object> 224 | <int key="IBDocument.localizationMode">0</int> 225 | <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> 226 | <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 227 | <int key="IBDocument.defaultPropertyAccessControl">3</int> 228 | <string key="IBCocoaTouchPluginVersion">933</string> 229 | </data> 230 | </archive> 231 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /RevealControllerExample3/RevealControllerProject3/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Copyright (c) 2011, Philip Kluz (Philip.Kluz@zuui.org) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of Philip Kluz, 'zuui.org' nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL PHILIP KLUZ BE LIABLE FOR ANY DIRECT, 24 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 27 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | */ 32 | 33 | #import <UIKit/UIKit.h> 34 | #import "AppDelegate.h" 35 | 36 | int main(int argc, char *argv[]) 37 | { 38 | @autoreleasepool 39 | { 40 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /RevealControllerProject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerProject.png -------------------------------------------------------------------------------- /RevealControllerProject2_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerProject2_a.png -------------------------------------------------------------------------------- /RevealControllerProject3_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerProject3_a.png -------------------------------------------------------------------------------- /RevealControllerProject3_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerProject3_b.png -------------------------------------------------------------------------------- /RevealControllerProject3_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerProject3_c.png -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <Workspace 3 | version = "1.0"> 4 | <FileRef 5 | location = "self:RevealControllerStoryboardExample.xcodeproj"> 6 | </FileRef> 7 | </Workspace> 8 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface AppDelegate : UIResponder <UIApplicationDelegate> 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @implementation AppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 14 | { 15 | // Override point for customization after application launch. 16 | return YES; 17 | } 18 | 19 | - (void)applicationWillResignActive:(UIApplication *)application 20 | { 21 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 22 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 23 | } 24 | 25 | - (void)applicationDidEnterBackground:(UIApplication *)application 26 | { 27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 29 | } 30 | 31 | - (void)applicationWillEnterForeground:(UIApplication *)application 32 | { 33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 34 | } 35 | 36 | - (void)applicationDidBecomeActive:(UIApplication *)application 37 | { 38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 39 | } 40 | 41 | - (void)applicationWillTerminate:(UIApplication *)application 42 | { 43 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 44 | } 45 | 46 | #pragma mark state preservation / restoration 47 | 48 | - (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder 49 | { 50 | return YES; 51 | } 52 | 53 | - (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder 54 | { 55 | return YES; 56 | } 57 | 58 | - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions 59 | { 60 | //[self.window makeKeyAndVisible]; 61 | return YES; 62 | } 63 | @end 64 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/ColorViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ColorViewController.h 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface ColorViewController : UIViewController 12 | @property (nonatomic, strong) IBOutlet UILabel* label; 13 | @property (nonatomic, strong) UIColor* color; 14 | @property (nonatomic, strong) NSString* text; 15 | @end 16 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/ColorViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ColorViewController.m 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import "ColorViewController.h" 10 | 11 | @interface ColorViewController () 12 | @property (nonatomic) IBOutlet UIBarButtonItem* revealButtonItem; 13 | @end 14 | 15 | @implementation ColorViewController 16 | 17 | - (void)viewDidLoad 18 | { 19 | [super viewDidLoad]; 20 | [self customSetup]; 21 | } 22 | 23 | 24 | - (void)customSetup 25 | { 26 | SWRevealViewController *revealViewController = self.revealViewController; 27 | if ( revealViewController ) 28 | { 29 | [self.revealButtonItem setTarget: revealViewController]; 30 | [self.revealButtonItem setAction: @selector( revealToggle: )]; 31 | [self.navigationController.navigationBar addGestureRecognizer:revealViewController.panGestureRecognizer]; 32 | } 33 | 34 | _label.text = _text; 35 | _label.textColor = _color; 36 | } 37 | 38 | 39 | #pragma mark state preservation / restoration 40 | 41 | - (void)encodeRestorableStateWithCoder:(NSCoder *)coder 42 | { 43 | NSLog(@"%s", __PRETTY_FUNCTION__); 44 | 45 | // Save what you need here 46 | [coder encodeObject: _text forKey: @"text"]; 47 | [coder encodeObject: _color forKey: @"color"]; 48 | 49 | [super encodeRestorableStateWithCoder:coder]; 50 | } 51 | 52 | 53 | - (void)decodeRestorableStateWithCoder:(NSCoder *)coder 54 | { 55 | NSLog(@"%s", __PRETTY_FUNCTION__); 56 | 57 | // Restore what you need here 58 | _color = [coder decodeObjectForKey: @"color"]; 59 | _text = [coder decodeObjectForKey: @"text"]; 60 | 61 | [super decodeRestorableStateWithCoder:coder]; 62 | } 63 | 64 | 65 | - (void)applicationFinishedRestoringState 66 | { 67 | NSLog(@"%s", __PRETTY_FUNCTION__); 68 | 69 | // Call whatever function you need to visually restore 70 | [self customSetup]; 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/Default-568h@2x.png -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/Default.png -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/Default@2x.png -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/MapViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MapViewController.h 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface MapViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/MapViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MapViewController.m 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import "MapViewController.h" 10 | 11 | @interface MapViewController () 12 | @property (nonatomic) IBOutlet UIBarButtonItem* revealButtonItem; 13 | @end 14 | 15 | @implementation MapViewController 16 | 17 | - (void)viewDidLoad 18 | { 19 | [super viewDidLoad]; 20 | [self customSetup]; 21 | } 22 | 23 | - (void)customSetup 24 | { 25 | SWRevealViewController *revealViewController = self.revealViewController; 26 | if ( revealViewController ) 27 | { 28 | [self.revealButtonItem setTarget: self.revealViewController]; 29 | [self.revealButtonItem setAction: @selector( revealToggle: )]; 30 | [self.navigationController.navigationBar addGestureRecognizer: self.revealViewController.panGestureRecognizer]; 31 | } 32 | } 33 | 34 | #pragma mark state preservation / restoration 35 | 36 | - (void)encodeRestorableStateWithCoder:(NSCoder *)coder 37 | { 38 | NSLog(@"%s", __PRETTY_FUNCTION__); 39 | 40 | // Save what you need here 41 | 42 | [super encodeRestorableStateWithCoder:coder]; 43 | } 44 | 45 | 46 | - (void)decodeRestorableStateWithCoder:(NSCoder *)coder 47 | { 48 | NSLog(@"%s", __PRETTY_FUNCTION__); 49 | 50 | // Restore what you need here 51 | 52 | [super decodeRestorableStateWithCoder:coder]; 53 | } 54 | 55 | 56 | - (void)applicationFinishedRestoringState 57 | { 58 | NSLog(@"%s", __PRETTY_FUNCTION__); 59 | 60 | // Call whatever function you need to visually restore 61 | [self customSetup]; 62 | } 63 | 64 | @end 65 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/MenuViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MenuViewController.h 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | @interface SWUITableViewCell : UITableViewCell 12 | @property (nonatomic) IBOutlet UILabel *label; 13 | @end 14 | 15 | @interface MenuViewController : UITableViewController 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/MenuViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MenuViewController.m 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import "MenuViewController.h" 10 | #import "ColorViewController.h" 11 | 12 | @implementation SWUITableViewCell 13 | @end 14 | 15 | @implementation MenuViewController 16 | 17 | 18 | - (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender 19 | { 20 | // configure the destination view controller: 21 | if ( [sender isKindOfClass:[UITableViewCell class]] ) 22 | { 23 | UILabel* c = [(SWUITableViewCell *)sender label]; 24 | UINavigationController *navController = segue.destinationViewController; 25 | ColorViewController* cvc = [navController childViewControllers].firstObject; 26 | if ( [cvc isKindOfClass:[ColorViewController class]] ) 27 | { 28 | cvc.color = c.textColor; 29 | cvc.text = c.text; 30 | } 31 | } 32 | } 33 | 34 | 35 | #pragma mark - Table view data source 36 | 37 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 38 | { 39 | return 1; 40 | } 41 | 42 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 43 | { 44 | return 3; 45 | } 46 | 47 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 48 | { 49 | static NSString *CellIdentifier = @"Cell"; 50 | 51 | switch ( indexPath.row ) 52 | { 53 | case 0: 54 | CellIdentifier = @"map"; 55 | break; 56 | 57 | case 1: 58 | CellIdentifier = @"blue"; 59 | break; 60 | 61 | case 2: 62 | CellIdentifier = @"red"; 63 | break; 64 | } 65 | 66 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath: indexPath]; 67 | 68 | return cell; 69 | } 70 | 71 | #pragma mark state preservation / restoration 72 | - (void)encodeRestorableStateWithCoder:(NSCoder *)coder { 73 | NSLog(@"%s", __PRETTY_FUNCTION__); 74 | 75 | // TODO save what you need here 76 | 77 | [super encodeRestorableStateWithCoder:coder]; 78 | } 79 | 80 | - (void)decodeRestorableStateWithCoder:(NSCoder *)coder { 81 | NSLog(@"%s", __PRETTY_FUNCTION__); 82 | 83 | // TODO restore what you need here 84 | 85 | [super decodeRestorableStateWithCoder:coder]; 86 | } 87 | 88 | - (void)applicationFinishedRestoringState { 89 | NSLog(@"%s", __PRETTY_FUNCTION__); 90 | 91 | // TODO call whatever function you need to visually restore 92 | } 93 | 94 | @end 95 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2-Info.plist: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 | <plist version="1.0"> 4 | <dict> 5 | <key>CFBundleDevelopmentRegion</key> 6 | <string>en</string> 7 | <key>CFBundleDisplayName</key> 8 | <string>${PRODUCT_NAME}</string> 9 | <key>CFBundleExecutable</key> 10 | <string>${EXECUTABLE_NAME}</string> 11 | <key>CFBundleIdentifier</key> 12 | <string>com.codeveloper.${PRODUCT_NAME:rfc1034identifier}</string> 13 | <key>CFBundleInfoDictionaryVersion</key> 14 | <string>6.0</string> 15 | <key>CFBundleName</key> 16 | <string>${PRODUCT_NAME}</string> 17 | <key>CFBundlePackageType</key> 18 | <string>APPL</string> 19 | <key>CFBundleShortVersionString</key> 20 | <string>1.0</string> 21 | <key>CFBundleSignature</key> 22 | <string>????</string> 23 | <key>CFBundleVersion</key> 24 | <string>1.0</string> 25 | <key>LSRequiresIPhoneOS</key> 26 | <true/> 27 | <key>UIMainStoryboardFile</key> 28 | <string>MainStoryboard</string> 29 | <key>UIMainStoryboardFile~ipad</key> 30 | <string>MainStoryboard-iPad</string> 31 | <key>UIRequiredDeviceCapabilities</key> 32 | <array> 33 | <string>armv7</string> 34 | </array> 35 | <key>UISupportedInterfaceOrientations</key> 36 | <array> 37 | <string>UIInterfaceOrientationPortrait</string> 38 | <string>UIInterfaceOrientationLandscapeLeft</string> 39 | <string>UIInterfaceOrientationLandscapeRight</string> 40 | </array> 41 | </dict> 42 | </plist> 43 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'RevealControllerStoryboardExample' target in the 'RevealControllerStoryboardExample' project 3 | // 4 | 5 | #import <Availability.h> 6 | 7 | #ifndef __IPHONE_5_0 8 | #warning "This project uses features only available in iOS SDK 5.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import <UIKit/UIKit.h> 13 | #import <Foundation/Foundation.h> 14 | 15 | #import "SWRevealViewController.h" 16 | #endif 17 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // RevealControllerStoryboardExample 4 | // 5 | // Created by Nick Hodapp on 1/9/13. 6 | // Copyright (c) 2013 CoDeveloper. All rights reserved. 7 | // 8 | 9 | #import <UIKit/UIKit.h> 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/reveal-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/reveal-icon.png -------------------------------------------------------------------------------- /RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/reveal-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/John-Lluch/SWRevealViewController/bb4a110989d67a5fc5f5c533cacc92f6cb02f5e2/RevealControllerStoryboardExample2/RevealControllerStoryboardExample2/reveal-icon@2x.png -------------------------------------------------------------------------------- /SWRevealViewController.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "SWRevealViewController" 3 | s.version = "2.4.0" 4 | s.summary = "A UIViewController subclass for presenting two view controllers inspired in the Facebook app, done right." 5 | s.homepage = "https://github.com/John-Lluch/SWRevealViewController" 6 | s.license = "MIT" 7 | s.author = { "John Lluch Zorrilla" => "joan.lluch@sweetwilliamsl.com" } 8 | s.source = { :git => "https://github.com/John-Lluch/SWRevealViewController.git", :tag => "v#{s.version}" } 9 | s.platform = :ios, "7.0" 10 | s.source_files = "SWRevealViewController/*.{h,m}" 11 | s.framework = "CoreGraphics" 12 | s.requires_arc = true 13 | end 14 | --------------------------------------------------------------------------------