如何在iOS上实现交替颜色动画

时间:2014-12-13 16:07:31

标签: ios animation

我为我的应用程序设计了一个自定义指示器视图,其中包含一行10个圆圈。指示器指示任务的进度,任务越接近完成,填充的圆圈越多。我想为这个指标添加两个非常基本的动画,因为这是我的第一个iOS应用程序,我不确定实现它们的最佳方法是什么。

动画1 :在从服务器获取任务进度信息时,我希望每个点连续改变颜色(从黑色到蓝色)。

动画2 :让我说服务器完成80%的任务,我想将前8个点的颜色从黑色变为绿色,然后逐渐减少延迟。

我的问题是,是否可以在drawRect:中实现这些动画,或者是否有更标准的方法来实现这样的事情。

谢谢!

1 个答案:

答案 0 :(得分:0)

对于此UI,我根本不会使用drawRect:。我会使用带有UIShapeLayer的圆圈的path来创建圆圈,然后使用 animateKeyframesWithDuration:delay:options:animations:completion;此方法允许您为各个圆圈添加动画(使用addKeyframeWithRelativeStartTime:relativeDuration:animations:),以及关键帧之间所需的任何延迟和相对持续时间。