From de733558a68efc67fd22a49fa4bc456d213efd67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Kra=CC=88ntzer?= Date: Mon, 9 Jul 2012 15:41:40 +0200 Subject: [PATCH] Keep frame of the top view Set the views frame of the new top view controller to the frame of the previous one, so that the top view controller can be changed if it is anchored at the side. --- .../Vendor/ECSlidingViewController/ECSlidingViewController.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m b/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m index 8b27a21..d869ef8 100644 --- a/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m +++ b/ECSlidingViewController/Vendor/ECSlidingViewController/ECSlidingViewController.m @@ -91,6 +91,8 @@ NSString *const ECSlidingViewTopDidReset = @"ECSlidingViewTopDidReset"; - (void)setTopViewController:(UIViewController *)theTopViewController { + CGRect topViewFrame = _topViewController ? _topViewController.view.frame : self.view.bounds; + [self removeTopViewSnapshot]; [_topViewController.view removeFromSuperview]; [_topViewController willMoveToParentViewController:nil]; @@ -102,7 +104,7 @@ NSString *const ECSlidingViewTopDidReset = @"ECSlidingViewTopDidReset"; [self.topViewController didMoveToParentViewController:self]; [_topViewController.view setAutoresizingMask:self.autoResizeToFillScreen]; - [_topViewController.view setFrame:self.view.bounds]; + [_topViewController.view setFrame:topViewFrame]; _topViewController.view.layer.shadowOffset = CGSizeZero; _topViewController.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath;