如何在iOS中实现这个动画?

时间:2015-04-20 08:20:10

标签: ios iphone animation uiimageview core-graphics

我不确定如何提出这个问题,因为我不知道我应该使用的动画术语。

我需要知道这个树的演示动画。因为它从顶部到顶部出现。

请查看附带的.gif文件,如果有人知道这个动画,或者您可以通过示例指导我,请告诉我。

我真的很感激。

感谢您的时间。

enter image description here

4 个答案:

答案 0 :(得分:1)

最好的选择是将gif分割成多个图像,然后执行以下操作:

NSArray *gifImagesArray = [NSArray arrayWithObjects:imageOne, imageTwo, imageThree, nil];
imageView.animationImages      = animateImagesArray;
imageView.animationRepeatCount = 1;
imageView.animationDuration    = 1.0f;
[imageView startAnimating];

修改以下评论:

如果您不能使用多张图片,则必须自己编写动画。

一个建议是在UIImage中添加一个圆形蒙版并为其移除动画。 此链接说明如何绘制圆形CALayer:Circular Progress Bars in IOS

这里将介绍如何在UIImage上创建一个掩码:Simply mask a UIView with a rectangle

现在你所要做的就是一个简单的动画。

答案 1 :(得分:0)

我有一个可以解决这个问题的解决方案。 我们可以使用gif图像并将其转换为UIImage对象。因此,图像对象将与动画相同。

感谢大家的回答。

答案 2 :(得分:-1)

在我看来,我会将这个动画分为4个部分:

  1. 动画从中心显示完整的黑树。
  2. 动画以显示文字
  3. 动画展示蓝叶。
  4. 动画在底部显示2个按钮。
  5. 您可以使用此框架https://github.com/facebook/pop逐步操作所有动画,甚至是Core Animation。 请做更多的研究......我认为你会成功做一个。

答案 3 :(得分:-1)

你可以使用简单的UIImageView来实现这个动画,它可以使用UIImageView的animationImages属性加载多个图像。

首先,创建一个NSMutablerArray图像。 然后将图像分配给imageView,并为该图像设置animationDuration。

UIImageView *animationImageView = [[UIImageView alloc]  initWithFrame:CGRectMake(60, 95, 86, 193)];
animationImageView.animationImages = images;
animationImageView.animationDuration = 0.5;

将imageview添加到视图中。

[self.view addSubview:animationImageView];
[animationImageView startAnimating];