旋转轮不显示缓和效果和缓和效果
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
效果吗?尝试设置更长的持续时间,看看是否会发生效果。
以上是关于旋转轮不显示缓和效果和缓和效果的主要内容,如果未能解决你的问题,请参考以下文章