I ran into the same problem. I could not solve this by adding restrictions, but -[UIPresentationController containerViewWillLayoutSubviews] is called too late (after the termination animation is completed).
After a while, I realized that the problem is that the view of the controller view is removed from the view hierarchy when you present the default full-screen view style and added again with the full screen size when it should be shown again.
In iOS 8, you can use UIModalPresentationOverFullScreen as presentationStyle when presenting from a smaller controller. After that, the system will not automatically delete the view representation of the controller. ( -[UIViewController viewWillDisappear:] , etc., is not called when the controller submits, when you do it)
You can also use the UIModalPresentationCustom , which is available in iOS 7, but then you have to provide your own transition animation.
source share