我有一个正确旋转的旋转器,但我也想让它在旋转时改变彩虹色。如何在关键帧动画中将旋转动画与颜色更改动画结合使用?我正在使用PaintCode将资源渲染为矢量艺术,因此我可以用任何颜色绘制微调器。
func animate(){
UIView.animateKeyframesWithDuration(2.0, delay: 0, options:.CalculationModeLinear | .Repeat, animations: { () -> Void in
UIView.addKeyframeWithRelativeStartTime(0.0, relativeDuration: 0.333333, animations: { () -> Void in
let rotation = (CGFloat) (2.0/3.0 * M_PI)
self.spinner.transform = CGAffineTransformMakeRotation(rotation)
})
UIView.addKeyframeWithRelativeStartTime(0.333333, relativeDuration: 0.333333, animations: { () -> Void in
let rotation = (CGFloat) (4.0/3.0 * M_PI)
self.spinner.transform = CGAffineTransformMakeRotation(rotation)
})
UIView.addKeyframeWithRelativeStartTime(0.666667, relativeDuration: 0.333333, animations: { () -> Void in
let rotation = (CGFloat) (0)
self.spinner.transform = CGAffineTransformMakeRotation(rotation)
})
}) { (finished) -> Void in
//complete
}
}
答案 0 :(得分:0)
尝试更改微调器的tintColor。如果你想实现一个彻底的变化,那就是彩虹色"我不认为UIView.animate-会达到目的。我想使用基于计时器的动画将是一个更好的解决方案,因为你必须添加大量的UIView.addKeyframeWithRelativeStartTime调用。你可能不知道确切的数字。此外,如果你想添加一个新的颜色,你需要重新计算时间并添加一个新的调用,这是...让我们说不是一个好的代码方式:) 你能给我们举个类似于你想要实现的东西的例子吗?