如何在两个视图之间制作花卉动画

时间:2011-02-14 09:41:51

标签: iphone ipad animation

我在 viewcontroller的视图中有一个UIButton,我写了一个动作方法表单,我将转到另一个视图控制器的视图。现在我正在尝试在views.i之间实现动画。尝试使用多种类型动画类型如下所示

[UIView beginAnimations:@"flipping view" context:nil];

[UIView setAnimationDuration:1];

[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

[self.view addSubview:anotherView];

[UIView commitAnimations];

此动画效果不错,但我正在尝试实施一些“成长花动画”(名称可能不同)表示从按钮坐标and occupy entire screen.my custom弹出的另一个视图button`坐标(500,500,20,20)。任何人都建议我实现这个动画。 谢谢。

2 个答案:

答案 0 :(得分:1)

这可以通过各种方法实现。 您可以使用:- 1)

  1. 核心动画
  2. UIImage类的动画
  3. Cocos 2D
  4. UIAnimation类(通过简单的更改框架)
  5. ..还有更多
  6. 这实际上取决于您的要求,以及您对这些课程/技术的舒适程度。

    如果你只想显示正在生长的花朵,那么更简单(但不是优化的,最好的)解决方案是创建不同的图像,并将它们放在数组中,然后为其设置动画

    类似的例子可在: - Animating images

答案 1 :(得分:0)

如果你有逐步增长的花卉图像的图像,那么你可以简单地实现这一点。编写一个函数来实现简单的实现,

    NSMutableArray * images;

//allocates the images array.
images = [[NSMutableArray alloc] init];

//loops till the 18images are added into array.
for (int index = 1; index < 19; index++) {

    //get the image name.
    NSString * imageName  = [NSString stringWithFormat:@"Animation%d",index];

    //get the path for the image in resourse file.
    NSString * path  = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];     

    //allocate and own the image object for the particular image.
    UIImage *image = [[UIImage alloc] initWithContentsOfFile:path];     

    //adds it to array.
    [images addObject:image];

    //release after adding.
    [image release];

    //remove the useless pointer.
    image = nil;
}   

//give the pointer to the array holding the images.
imageView.animationImages = images; 

//after using it, release it.
[images release];

//remove the useless pointer
images = nil;

//set animation duration
imageView.animationDuration = 3.00;

//start animate
[imageView startAnimating];

当您想要停止动画后,您只需拨打

即可
[imageView stopAnimation];

您还有其他选择

imageView.repeatCount = 1;

imageView是uiimageView的一个实例,分配了一个。