diff --git a/React/Modules/RCTUIManager.m b/React/Modules/RCTUIManager.m index 574eebdc4..87ae23d80 100644 --- a/React/Modules/RCTUIManager.m +++ b/React/Modules/RCTUIManager.m @@ -526,6 +526,8 @@ extern NSString *RCTBridgeModuleNameForClass(Class cls); // Animate view creation if (createAnimation) { + CATransform3D finalTransform = view.layer.transform; + CGFloat finalOpacity = view.layer.opacity; if ([createAnimation.property isEqualToString:@"scaleXY"]) { view.layer.transform = CATransform3DMakeScale(0, 0, 0); } else if ([createAnimation.property isEqualToString:@"opacity"]) { @@ -533,9 +535,9 @@ extern NSString *RCTBridgeModuleNameForClass(Class cls); } [createAnimation performAnimations:^{ if ([createAnimation.property isEqual:@"scaleXY"]) { - view.layer.transform = CATransform3DIdentity; + view.layer.transform = finalTransform; } else if ([createAnimation.property isEqual:@"opacity"]) { - view.layer.opacity = 1.0; + view.layer.opacity = finalOpacity; } else { RCTLogError(@"Unsupported layout animation createConfig property %@", createAnimation.property);