diff --git a/doric-iOS/Pod/Classes/Shader/DoricViewNode.m b/doric-iOS/Pod/Classes/Shader/DoricViewNode.m index 39c93e1f..2b6fcc95 100644 --- a/doric-iOS/Pod/Classes/Shader/DoricViewNode.m +++ b/doric-iOS/Pod/Classes/Shader/DoricViewNode.m @@ -566,6 +566,7 @@ - (void)doAnimation:(id)params withPromise:(DoricPromise *)promise { originDelegate.endBlock(callback); } [self transformProperties]; + [self.view.layer removeAnimationForKey:params[@"id"]]; [promise resolve:self.transformation]; }; it.cancelBlock = ^{ @@ -582,7 +583,7 @@ - (void)doAnimation:(id)params withPromise:(DoricPromise *)promise { if (params[@"delay"]) { animation.beginTime = CACurrentMediaTime() + [params[@"delay"] floatValue] / 1000; } - animation.removedOnCompletion = YES; + animation.removedOnCompletion = NO; animation.fillMode = kCAFillModeForwards; if (animation.duration == 0) { animation.duration = FLT_MIN;