From f5708a25cf6cd58f9343bab8c3a19310335b8b71 Mon Sep 17 00:00:00 2001 From: Felipe Lima Date: Sun, 6 Jan 2013 19:03:10 -0800 Subject: [PATCH 1/2] Add shadow for left sidebar --- .../UIViewController+JTRevealSidebarV2.m | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m b/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m index be764be..55c2383 100644 --- a/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m +++ b/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m @@ -78,7 +78,7 @@ - (JTRevealedState)revealedState { - (CGAffineTransform)baseTransform { CGAffineTransform baseTransform; - + return self.view.transform; switch (self.interfaceOrientation) { case UIInterfaceOrientationPortrait: @@ -122,7 +122,7 @@ - (UIViewController *)selectedViewController { return self; } -// Looks like we collasped with the official animationDidStop:finished:context: +// Looks like we collasped with the official animationDidStop:finished:context: // implementation in the default UITabBarController here, that makes us never // getting the callback we wanted. So we renamed the callback method here. - (void)animationDidStop2:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context { @@ -131,9 +131,9 @@ - (void)animationDidStop2:(NSString *)animationID finished:(NSNumber *)finished UIView *view = [self.view.superview viewWithTag:(int)context]; [view removeFromSuperview]; } - + // notify delegate for controller changed state - id delegate = + id delegate = [self selectedViewController].navigationItem.revealSidebarDelegate; if ([delegate respondsToSelector:@selector(didChangeRevealedStateForViewController:)]) { [delegate didChangeRevealedStateForViewController:self]; @@ -154,22 +154,29 @@ - (void)revealLeftSidebar:(BOOL)showLeftSidebar { if (showLeftSidebar) { [self.view.superview insertSubview:revealedView belowSubview:self.view]; - + [UIView beginAnimations:@"" context:nil]; // self.view.transform = CGAffineTransformTranslate([self baseTransform], width, 0); - + self.view.frame = CGRectOffset(self.view.frame, width, 0); + self.view.layer.masksToBounds = NO; + self.view.layer.shadowRadius = 5; + self.view.layer.shadowOpacity = 1; + self.view.layer.shadowColor = [[UIColor blackColor] CGColor]; + self.view.layer.shadowOffset = CGSizeZero; + self.view.layer.shadowPath = [[UIBezierPath bezierPathWithRect:self.view.bounds] CGPath]; + } else { [UIView beginAnimations:@"hideSidebarView" context:(void *)SIDEBAR_VIEW_TAG]; // self.view.transform = CGAffineTransformTranslate([self baseTransform], -width, 0); - + self.view.frame = CGRectOffset(self.view.frame, -width, 0); } - + [UIView setAnimationDidStopSelector:@selector(animationDidStop2:finished:context:)]; [UIView setAnimationDelegate:self]; - + NSLog(@"%@", NSStringFromCGAffineTransform(self.view.transform)); @@ -179,7 +186,7 @@ - (void)revealLeftSidebar:(BOOL)showLeftSidebar { - (void)revealRightSidebar:(BOOL)showRightSidebar { id delegate = [self selectedViewController].navigationItem.revealSidebarDelegate; - + if ( ! [delegate respondsToSelector:@selector(viewForRightSidebar)]) { return; } @@ -194,19 +201,19 @@ - (void)revealRightSidebar:(BOOL)showRightSidebar { [UIView beginAnimations:@"" context:nil]; // self.view.transform = CGAffineTransformTranslate([self baseTransform], -width, 0); - + self.view.frame = CGRectOffset(self.view.frame, -width, 0); } else { [UIView beginAnimations:@"hideSidebarView" context:(void *)SIDEBAR_VIEW_TAG]; // self.view.transform = CGAffineTransformTranslate([self baseTransform], width, 0); self.view.frame = CGRectOffset(self.view.frame, width, 0); } - + [UIView setAnimationDidStopSelector:@selector(animationDidStop2:finished:context:)]; [UIView setAnimationDelegate:self]; NSLog(@"%@", NSStringFromCGAffineTransform(self.view.transform)); - + [UIView commitAnimations]; } From 9d3590034ca80d9b58734f34e4300044aea23443 Mon Sep 17 00:00:00 2001 From: Felipe Lima Date: Sun, 6 Jan 2013 19:04:42 -0800 Subject: [PATCH 2/2] import quartzcore --- JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m | 1 + 1 file changed, 1 insertion(+) diff --git a/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m b/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m index 55c2383..cfb3f09 100644 --- a/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m +++ b/JTRevealSidebarV2/UIViewController+JTRevealSidebarV2.m @@ -9,6 +9,7 @@ #import "UIViewController+JTRevealSidebarV2.h" #import "UINavigationItem+JTRevealSidebarV2.h" #import "JTRevealSidebarV2Delegate.h" + #import #import @interface UIViewController (JTRevealSidebarV2Private)