旋转轮不显示缓和效果和缓和效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了旋转轮不显示缓和效果和缓和效果相关的知识,希望对你有一定的参考价值。

我使用下面的代码来旋转26段的轮子。问题是它没有显示缓和和缓出的效果。

- (void) spinWithOptions: (UIViewAnimationOptions) options {
   // this spin completes 360 degrees every 2 seconds
   [UIView animateWithDuration: 0.5f
                         delay: 0.0f
                       options: options
                    animations: ^{
                       self.imageToMove.transform = CGAffineTransformRotate(imageToMove.transform, M_PI_2/6.49);
                    }
                    completion: ^(BOOL finished) {
                       if (finished) {
                          if (animating) {
                             // if flag still set, keep spinning with constant speed
                             [self spinWithOptions: UIViewAnimationOptionCurveLinear];
                          } else if (options != UIViewAnimationOptionCurveEaseOut) {
                             // one last spin, with deceleration
                             [self spinWithOptions: UIViewAnimationOptionCurveEaseOut];
                          }
                       }
                    }];
}

- (void) startSpin {
   if (!animating) {
      animating = YES;
      [self spinWithOptions: UIViewAnimationOptionCurveEaseIn];
   }   
}

- (void) stopSpin {
    // set the flag to stop spinning after one last 90 degree increment
    animating = NO;
}
答案

一个EaseIn导致动画慢慢开始然后加速,这应该只发生在0.5秒的第一个动画上,之后你使用UIViewAnimationOptionCurveLinear并且仅用于你使用EastOut的最后一个动画。

据我所知,代码看起来还不错,你确定你能在如此短的时间内看到EaseIn效果吗?尝试设置更长的持续时间,看看是否会发生效果。

以上是关于旋转轮不显示缓和效果和缓和效果的主要内容,如果未能解决你的问题,请参考以下文章

css 缓和/缓和

在CATIA中实现道路缓和曲线的方法

研究人员发现喝咖啡有助于缓和痛风发病

缓和曲线09正弦一波型

缓和曲线10麦克康奈尔

当其他元素消失时,动画/缓和元素的位置