使 UIImageView 出现的圆形动画
Posted
技术标签:
【中文标题】使 UIImageView 出现的圆形动画【英文标题】:Circular animation to make UIImageView appear 【发布时间】:2012-09-26 07:43:52 【问题描述】:我有一个“圆形”图像,类似于饼图。我想要一个漂亮的动画,比如当饼图从 0 填充到值时。
当我想要动画视图时,我通常使用这样的东西:
[UIView animateWithDuration: 3.0
delay: 0.0
options: UIViewAnimationCurveEaseInOut
animations: ^
// The animation
completion: ^(BOOL finished)
// On completion
];
是否可以为圆形动画做同样的事情?我真的不知道该怎么做。
感谢任何线索!
注意:ios 5、故事板、ARC 和所有这些东西 :)
编辑:为了以后的讨论,图像看起来像这样:
【问题讨论】:
【参考方案1】:好的,就这样吧:)
第一个选项(简单的一个)。您可以使用UIImageView
的animationImages
属性。用动画图像制作NSArray
(在你的情况下,圆形图像从0填充到整个圆圈),设置animationDuration
,然后调用[imageView startAnimating]
(我假设你的UIImageView
是imageView
),并且处理完成后,您可以致电[imageView stopAnimating]
。
第二: 查看此链接http://www.cocoacontrols.com/platforms/ios/controls/jpradialactivityindicator,我认为示例项目的功能几乎与您尝试做的一样:)
祝你好运;)
【讨论】:
感谢您的回答。例如,如果我只有 10 张图片可以吗?动画会看起来是连续的吗?还是只是一张一张地显示图像并带有一些淡入淡出效果? 顺便说一句,方法是 startAnimating 和 stopAnimating ;) 对不起,我的错 :),我认为 10 张图像应该没问题。. 取决于动画持续时间和图像大小。 这只是动画图像的基本方法,对于高质量的动画,请参阅 Nayan 的回答 :) 谢谢,我必须花一些时间来考虑这两种解决方案...我暂时不回答这个问题,我会在实施其中一个选项后立即接受 :) 【参考方案2】:1) 您可以使用CAShapeLayer
2) 另外,你可以参考这个教程:Animating Pie Slices Using a Custom CALayer
祝你好运!!!
【讨论】:
感谢链接。据我了解,它没有使用 UIImages。我必须对它进行更多研究,如果我找不到使用图像的方法,我可能会使用它。感谢您的回答。 我对这个解决方案的问题是它不是我想要显示的复杂饼图,而是更多的环(请参阅我的问题的图像编辑)。对于我想要实现的目标来说,这可能太复杂了......以上是关于使 UIImageView 出现的圆形动画的主要内容,如果未能解决你的问题,请参考以下文章
如何使 UIView 不出现在背景上但仍出现在 UIImageView (子视图)上
iOS UIImageView如何为圆形ImageView添加填充