Merge pull request #1313 from levi/patch-6

[ASDisplayNode] Transition API - Preserve usesImplicitHierarchyManagement when doing animations
This commit is contained in:
appleguy
2016-03-03 12:17:14 -08:00

View File

@@ -63,7 +63,7 @@ NSString * const ASRenderingEngineDidDisplayNodesScheduledBeforeTimestamp = @"AS
@synthesize isFinalLayoutable = _isFinalLayoutable;
@synthesize threadSafeBounds = _threadSafeBounds;
static BOOL usesImplicitHierarchyManagement = FALSE;
static BOOL usesImplicitHierarchyManagement = NO;
+ (BOOL)usesImplicitHierarchyManagement
{
@@ -666,10 +666,13 @@ static ASDisplayNodeMethodOverrides GetASDisplayNodeMethodOverrides(Class c)
- (ASLayout *)transitionLayoutWithSizeRange:(ASSizeRange)constrainedSize animated:(BOOL)animated
{
BOOL disableImplicitHierarchyManagement = self.usesImplicitHierarchyManagement == NO;
self.usesImplicitHierarchyManagement = YES; // Temporary flag for 1.9.x
return [self measureWithSizeRange:constrainedSize completion:^{
self.usesImplicitHierarchyManagement = NO; // Temporary flag for 1.9.x
if (disableImplicitHierarchyManagement) {
self.usesImplicitHierarchyManagement = NO; // Temporary flag for 1.9.x
}
ASPerformBlockOnMainThread(^{
_transitionContext = [[_ASTransitionContext alloc] initWithAnimation:animated delegate:self];