创建扇形核心动画

时间:2010-01-08 23:26:37

标签: iphone objective-c cocoa-touch uiimageview

我想创建一个以小圆圈外观开头的动画,然后像这样前进:

  • 出现第二个较大的圆圈
  • 出现第3个较大的圆圈
  • 第一个最小的圆圈消失
  • 出现4个更大的圆圈
  • 第二圈消失

以及大约六个左右的圈子。

圈子会淡入/淡出。每个较大的圆圈都包围着它之前的较小圆圈。这是您在教学屏幕录像中可能看到的相同类型的动画。教师点击某些内容并在点击发生的地方,有一个动画,随着圆圈越来越大,这些动画会逐渐消失。类似于将鹅卵石扔进池塘。

我可以用几个UIImageViews和一个计时器来做这个。但是有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

我不是核心动画专家,但请查看UIView +beginAnimations:context:

您可以为这样的视图设置alpha的更改动画(假设视图以alpha为1开始):

[UIView beginAnimations:@"Fadeout" context:nil]
myview.alpha = 0;
[UIView commitAnimations]

这称为动画块。你在那里改变的任何东西,如果该视图属性支持动画,将从之前的任何内容慢慢改变为你指定的那些。在alpha的情况下,这将导致视图从1的alpha变为0的alpha(此时它是不可见的)。

有一些方法可以设置动画持续时间,动画开始前的延迟,还可以嵌套这些动画块。

所以,我认为你可以用嵌套动画块和包含透明背景或类似东西的圆圈的UIImageViews来做到这一点。这是否是最佳方式,我不确定,但这是一种应该工作的方式。有关所有动画方法,请参阅UIView文档。

答案 1 :(得分:0)

为什么不能将UIImageView用于图像数组和动画?