diff --git a/ECSlidingViewController/FirstTopViewController.m b/ECSlidingViewController/FirstTopViewController.m index df41fb9..ed71d4c 100644 --- a/ECSlidingViewController/FirstTopViewController.m +++ b/ECSlidingViewController/FirstTopViewController.m @@ -46,12 +46,12 @@ - (IBAction)revealMenu:(id)sender { - [self.slidingViewController anchorTopViewTo:ECRight animations:nil onComplete:nil]; + [self.slidingViewController anchorTopViewTo:ECRight]; } - (IBAction)revealUnderRight:(id)sender { - [self.slidingViewController anchorTopViewTo:ECLeft animations:nil onComplete:nil]; + [self.slidingViewController anchorTopViewTo:ECLeft]; } @end \ No newline at end of file diff --git a/ECSlidingViewController/SampleTableViewController.m b/ECSlidingViewController/SampleTableViewController.m index da8da9c..ed3ac0f 100644 --- a/ECSlidingViewController/SampleTableViewController.m +++ b/ECSlidingViewController/SampleTableViewController.m @@ -40,7 +40,7 @@ - (IBAction)revealMenu:(id)sender { - [self.slidingViewController anchorTopViewTo:ECRight animations:nil onComplete:nil]; + [self.slidingViewController anchorTopViewTo:ECRight]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation diff --git a/ECSlidingViewController/SecondTopViewController.m b/ECSlidingViewController/SecondTopViewController.m index 96f33df..77aa564 100644 --- a/ECSlidingViewController/SecondTopViewController.m +++ b/ECSlidingViewController/SecondTopViewController.m @@ -26,7 +26,7 @@ - (IBAction)revealMenu:(id)sender { - [self.slidingViewController anchorTopViewTo:ECRight animations:nil onComplete:nil]; + [self.slidingViewController anchorTopViewTo:ECRight]; } @end diff --git a/ECSlidingViewController/ThirdTopViewController.m b/ECSlidingViewController/ThirdTopViewController.m index a02ad74..3548de7 100644 --- a/ECSlidingViewController/ThirdTopViewController.m +++ b/ECSlidingViewController/ThirdTopViewController.m @@ -53,7 +53,7 @@ - (IBAction)revealMenu:(id)sender { - [self.slidingViewController anchorTopViewTo:ECRight animations:nil onComplete:nil]; + [self.slidingViewController anchorTopViewTo:ECRight]; } // slidingViewController notification diff --git a/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.h b/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.h index c506930..b8946d6 100644 --- a/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.h +++ b/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.h @@ -118,6 +118,14 @@ typedef enum { */ - (UIPanGestureRecognizer *)panGesture; +/** Slides the top view in the direction of the specified side. + + A peek amount or reveal amount must be set for the given side. The top view will anchor to one of those specified values. + + @param side The side for the top view to slide towards. + */ +- (void)anchorTopViewTo:(ECSide)side; + /** Slides the top view in the direction of the specified side. A peek amount or reveal amount must be set for the given side. The top view will anchor to one of those specified values. @@ -128,6 +136,12 @@ typedef enum { */ - (void)anchorTopViewTo:(ECSide)side animations:(void(^)())animations onComplete:(void(^)())complete; +/** Slides the top view off of the screen in the direction of the specified side. + + @param side The side for the top view to slide off the screen towards. + */ +- (void)anchorTopViewOffScreenTo:(ECSide)side; + /** Slides the top view off of the screen in the direction of the specified side. @param side The side for the top view to slide off the screen towards. diff --git a/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m b/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m index 0c202bf..493158b 100644 --- a/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m +++ b/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m @@ -185,9 +185,9 @@ NSString *const ECSlidingViewTopDidReset = @"ECSlidingViewTopDidReset"; CGFloat currentVelocityX = currentVelocityPoint.x; if ([self underLeftShowing] && currentVelocityX > 100) { - [self anchorTopViewTo:ECRight animations:nil onComplete:nil]; + [self anchorTopViewTo:ECRight]; } else if ([self underRightShowing] && currentVelocityX < 100) { - [self anchorTopViewTo:ECLeft animations:nil onComplete:nil]; + [self anchorTopViewTo:ECLeft]; } else { [self resetTopView]; } @@ -199,6 +199,11 @@ NSString *const ECSlidingViewTopDidReset = @"ECSlidingViewTopDidReset"; return _panGesture; } +- (void)anchorTopViewTo:(ECSide)side +{ + [self anchorTopViewTo:side animations:nil onComplete:nil]; +} + - (void)anchorTopViewTo:(ECSide)side animations:(void (^)())animations onComplete:(void (^)())complete { CGFloat newCenter = self.topView.center.x; @@ -234,6 +239,11 @@ NSString *const ECSlidingViewTopDidReset = @"ECSlidingViewTopDidReset"; }]; } +- (void)anchorTopViewOffScreenTo:(ECSide)side +{ + [self anchorTopViewOffScreenTo:side animations:nil onComplete:nil]; +} + - (void)anchorTopViewOffScreenTo:(ECSide)side animations:(void(^)())animations onComplete:(void(^)())complete { CGFloat newCenter = self.topView.center.x;