UIView帧序列动画

时间:2012-08-24 02:55:13

标签: iphone objective-c ios uiimageview

这是我的块动画代码:

[UIView animateWithDuration:.5f delay:15.0f options:UIViewAnimationTransitionNone animations:^{
        animationContainer.image = [UIImage imageNamed:@"Hear 1_00.png"];
    }completion:^(BOOL finished){
        if(! finished) return;
        [UIView animateWithDuration:.5f delay:15.0f options:UIViewAnimationTransitionNone animations:^{
            animationContainer.image = [UIImage imageNamed:@"Hear 1_01.png"];
        }completion:^(BOOL finished){
            if(! finished) return;
      }];

    }];

我想使用320x480(全屏iPhone)为FRAME序列制作动画。我有120张照片,如果我尝试用NSArray设置动画,iPhone似乎变慢了。您是否有建议或示例代码可以与我分享或建议?感谢

1 个答案:

答案 0 :(得分:2)

您应该使用UIImageView的内置动画功能:

animationContainer.animationImages = imagesArray;
animationContainer.animationDuration = 0.5f;
[animationContainer startAnimating];

查看UIImageView文档以获取更多信息。

如果你想要平滑的图像外观动画,最好使用NSTimer而不是延迟参数。只需每15秒启动一次计时器,并使用您想要的任何动画呈现下一个图像。确保您的图像最小,以便在屏幕上显示。因为如果它们很大,可能需要很长时间来调整大小并绘制它。如果无法更改原始图像,请在开始动画序列之前准备调整大小的图像数组。