From 90d5c97d0f5eeca2330ef78cf0369c8980103f42 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Tue, 19 Jul 2016 14:04:23 -0700 Subject: [PATCH] Fixes iOS 7 and iOS 8 wrong size in viewWillAppear: while a a rotation is happening --- AsyncDisplayKit/ASViewController.mm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/AsyncDisplayKit/ASViewController.mm b/AsyncDisplayKit/ASViewController.mm index e57878ebf1..e754633ca0 100644 --- a/AsyncDisplayKit/ASViewController.mm +++ b/AsyncDisplayKit/ASViewController.mm @@ -212,9 +212,20 @@ ASVisibilityDepthImplementation; - (BOOL)_shouldLayoutTheLegacyWay { - BOOL isModal = (self.presentingViewController != nil && self.presentedViewController == nil); + BOOL isModalViewController = (self.presentingViewController != nil && self.presentedViewController == nil); + BOOL hasNavigationController = (self.navigationController != nil); + BOOL hasParentViewController = (self.parentViewController != nil); + if (isModalViewController && !hasNavigationController && !hasParentViewController) { + return YES; + } + + // Check if the view controller is a root view controller BOOL isRootViewController = self.view.window.rootViewController == self; - return isModal || isRootViewController; + if (isRootViewController) { + return YES; + } + + return NO; } - (ASSizeRange)_legacyConstrainedSize