From d7620e0c5974ea5ad3d5ab337075d024ae8d40b7 Mon Sep 17 00:00:00 2001 From: Qiongpan Ke Date: Mon, 22 Apr 2019 20:12:30 +0800 Subject: [PATCH] =?UTF-8?q?[BUG]=20=E4=BF=AE=E6=AD=A3=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=97=B6=E9=80=90=E5=B8=A7=E6=A8=A1=E6=8B=9F?= =?UTF-8?q?=E7=9A=84=E8=AE=A1=E7=AE=97=E8=AF=AF=E5=B7=AE=E5=8F=8A=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E9=97=AE=E9=A2=98=EF=BC=8C=E8=AF=A6=E8=A7=81=20#2347?= =?UTF-8?q?=20=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/sdk/WeexSDK/Sources/Module/WXTransition.mm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm b/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm index 78c88e66e9..7a7af1ba39 100644 --- a/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm +++ b/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm @@ -317,10 +317,15 @@ - (void)_calculatetransitionProcessingStyle if (_propertyArray.count == 0) { return; } - double per = 1000 * (_transitionCount + 1 ) / (60 * _transitionDuration);//linear + + // Bugfix: /~https://github.com/apache/incubator-weex/issues/2347 + NSUInteger frameCount = _transitionDuration * 60 / 1000; + NSUInteger currentFrame = _transitionCount + 1; + double per = (double)currentFrame / frameCount; //linear if (![[NSString stringWithFormat:@"%@",_transitionTimingFunction] isEqualToString: kCAMediaTimingFunctionLinear]) { - per = [self solveWithx:((_transitionCount+2)*16)/_transitionDuration epsilon:SOLVE_EPS(_transitionDuration)]; + per = [self solveWithx:per epsilon:SOLVE_EPS(_transitionDuration)]; } + NSString *transformString = [NSString string]; for (WXTransitionInfo *info in _propertyArray) { if ([info.propertyName isEqualToString:@"backgroundColor"]) {