0

我正在为 ImageViews 设置动画,然后用户点击一个按钮。我有 40 多张图片。我使用的代码是

arr3 =  [[NSArray alloc]initWithObjects:[UIImage imageNamed:@"Aperture_00000.png"],
[UIImage imageNamed:@"Aperture_00001.png"],
[UIImage imageNamed:@"Aperture_00002.png"],
...
[UIImage imageNamed:@"Aperture_00023.png"], nil];

imgv.animationImages = arr3;
imgv.animationDuration=2.0f;
imgv.animationRepeatCount =1;

启动动画的方法是:

-(void)animate {
    [imgv startAnimating];
}

但是当用户第一次按下按钮时,需要花费很多时间。这可能是什么解决方案?

4

2 回答 2

1

原因如下代码:

arr3 =  [[NSArray alloc]initWithObjects:[UIImage imageNamed:@"Aperture_00000"],[UIImage imageNamed:@"Aperture_00001"],[UIImage imageNamed:@"1.png",@"2.png",@"3png",@"4.png",@"5.png",@"6.png",@"7.png",@"8.png",@"9.png",@"10.png",@"11.png",@"12.png",@"13.png",@"14.png",@"15.png",];

您可以做的是将此数组加载到其他地方。

注意:这是一种非常消耗内存的加载图像的方式。在您访问该课程 2-3 次后,您的应用程序肯定会崩溃。取而代之的是使用一些替代方法。我可以建议的最简单的选择是在 UIImageView 上加载图像并定期更改图像。它会给你动画效果。

于 2013-04-04T11:39:31.107 回答
1

我建议您宁愿以编程方式进行,您应该从图像创建动画 gif 图像。这是在线工具,您可以设置速度和其他参数 http://picasion.com/

并使用 https://github.com/arturogutierrez/Animated-GIF-iPhone UIImageView 类别显示该 gif 图像,在这种情况下您可以节省 CPU 时间。

当你想播放动画时取消隐藏 imageView 并在你想停止时隐藏。

我建议至少尝试一下。

于 2013-04-04T11:45:46.177 回答