4

我有一个“圆形”图像,类似于饼图。我想要一个漂亮的动画,比如当饼图从 0 填充到值时。

当我想为视图设置动画时,我通常使用这样的东西:

[UIView animateWithDuration: 3.0 
                      delay: 0.0 
                    options: UIViewAnimationCurveEaseInOut 
                 animations: ^ {
                             // The animation
                     } 
                 completion: ^(BOOL finished) {
                             // On completion
                     } ];

是否可以为圆形动画做同样的事情?我真的不知道该怎么做。

感谢任何线索!

注意:iOS 5、故事板、ARC 和所有这些东西 :)


编辑:为了将来的讨论,图像如下所示:

在此处输入图像描述

4

2 回答 2

3

好的,就到这里了:)

第一个选项(简单的一个)。您可以使用UIImageView'animationImages属性。使用动画图像(在NSArray您的情况下,圆形图像从 0 填充到整个圆圈)、 setanimationDuration和调用[imageView startAnimating](我假设您的UIImageViewis imageView),您可以[imageView stopAnimating]在处理完成后调用。

第二:查看此链接http://www.cocoacontrols.com/platforms/ios/controls/jpradialactivityindicator,我认为示例项目与您尝试做的几乎相同:)

祝你好运 ;)

于 2012-09-26T07:52:20.557 回答
2

1)你可以使用CAShapeLayer

  • 您可以通过设置 strokeStart 和 strokeEnd 属性的动画来实现。您可以为整个圆创建路径,并使用 strokeStart 和 strokeEnd 属性仅描边圆的某个部分。

2)另外,你可以参考这个教程:Animating Pie Slices Using a Custom CALayer

祝你好运!!!

于 2012-09-26T07:56:30.553 回答