2012-09-26 44 views
4

我有一个“圆形”图像,就像饼图。我想要一个不错的出现动画,就像饼图从0填充到该值时一样。圆形动画使UIImageView出现

我通常使用这样的事情时,我想动画的观点:

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

是否有可能做同样的事情为圆形动画?我真的不知道如何做到这一点。

感谢您的任何线索!

注:iOS 5中,故事板,ARC,和所有的东西:)


编辑:为未来的讨论,图像看起来是这样的:

enter image description here

回答

3

好了,在这里它去:)

第一个选项(简单)。你可以使用UIImageViewanimationImages属性。制作NSArray与动画图像(在你的情况下,圆形图像填充从0到全圆),设置animationDuration,并呼吁[imageView startAnimating](我假设你的UIImageViewimageView),你可以拨打电话[imageView stopAnimating]当过程完成。

二: 退房这个环节http://www.cocoacontrols.com/platforms/ios/controls/jpradialactivityindicator,我认为示例项目几乎相同的,因为你正在尝试做的:)

好运;)

+0

感谢您的回答。例如,如果我只喜欢10张图像,这很好吗?动画会持续吗?或者它只是一个接一个显示一些淡入淡出效果的图像? – rdurand

+0

顺便说一下,方法是startAnimating和stopAnimating;) – rdurand

+0

对不起,我的坏:),我认为它应该罚款10图像..取决于动画持续时间和图像大小。 –

2

1)您可以使用CAShapeLayer

  • 您可以通过动画strokeStart和strokeEnd属性来实现它。您可以创建完整圆的路径,并使用strokeStart和strokeEnd属性仅触发圆的某个部分。

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

好运!

+0

感谢链接。据我了解,它不使用UIImages。我必须仔细研究一下,如果我找不到用图像处理的方法,我可以使用它。感谢你的回答。 – rdurand

+0

这个解决方案的问题在于,它不是一个复杂的饼图,而是更多的戒指(请参阅我的问题的图像编辑)。对于我想实现的目标来说,这可能太复杂了...... – rdurand