我在UImageView上创建一个5帧动画,每个图像都是由[UIImage imageWithContentOfFile:xxx]创建的, 但是,模拟器上的动画运行良好,但不在设备上,虽然动画持续时间为1秒,但通常延迟约1秒。
这是我的代码。
NSArray *animations = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:@"ShakeAnimation"];
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageWithContentsOfFile:[animations objectAtIndex:0]]];
imgView.tag = 10;
NSMutableArray *animationImgs = [[NSMutableArray alloc] init];
for( NSString *path in animations )
{
[animationImgs addObject:[UIImage imageWithContentsOfFile:path]];
}
[imgView setAnimationRepeatCount:2];
[imgView setAnimationImages:animationImgs];
[imgView setAnimationDuration:1];
[animationImgs release];
当视图控制器收到shack事件时,它调用[imgView startAnimation];
无论如何要预加载动画中涉及的图像?谢谢。
答案 0 :(得分:1)
我明白了!
如果要预加载UIImageView
动画图像,请在初始化后调用[imgView startAnimating]
。它似乎对我有用。