CABasicAnimation 是一种 Core Animation 框架下的基本动画,它允许您在指定的时间内将一个视图从一个位置移动到另一个位置,并在动画结束后将其返回到原始位置。
在 CABasicAnimation 中,旋转会随着动画的进行而进行,而不是在动画结束后立即进行。如果需要在动画结束后立即旋转视图,则需要使用 CAAnimationGroup。
CABasicAnimation 旋转返回原始位置可以通过设置 toValue
属性来实现。例如:
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
animation.toValue = @(M_PI); // 旋转 360 度
animation.duration = 1.0f;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[self.view.layer addAnimation:animation forKey:@"rotationAnimation"];
在上面的代码中,我们设置了 CABasicAnimation 的 keyPath 为视图的旋转属性 transform.rotation
,并且将 toValue
设置为旋转 360 度的值。duration
属性指定了动画的时间长度,而 timingFunction
属性指定了动画的速度曲线。最后,我们将动画添加到视图的图层中,并使用 forKey
属性将其与视图关联起来。
当动画结束时,视图的旋转角度将恢复到初始状态。
领取专属 10元无门槛券
手把手带您无忧上云