在我的应用程序中有260个.jpg文件尺寸为 640*1136 的图像的动画。我将所有图像加载到数组中,如下所示。
点击按钮
- (void)singButtonClick:(id)sender
{
[self initSingArray];
[self startAnimationWithImages:singArray duration:2];
}
它将分配初始化我的数组,并从资源文件夹中加载所有 260 张图像
self.imageArray = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil];
- (void)initSingArray
{
if (!singArray)
{
singArray=[[NSMutableArray alloc] init];
for(NSString *str in self.imageArray)
{
if([[str lastPathComponent] hasPrefix:@"Sing_"])
{
[singArray addObject:[UIImage imageNamed:[str lastPathComponent]]];
}
}
}
}
对于图像动画,只需使用该数组并将其传递给 UIImageView
- (void)startAnimationWithImages:(NSMutableArray*)images duration:(NSTimeInterval)duration
{
[self startAnimationWithImages:images duration:duration repeatCount:1];
}
- (void)startAnimationWithImages:(NSMutableArray*)images duration:(NSTimeInterval)duration repeatCount:(int)repeatCount
{
if (self.gifImageView.isAnimating)
{
[self.gifImageView stopAnimating];
}
self.gifImageView.animationImages = nil;
self.gifImageView.animationImages = images; // Animated image array
self.gifImageView.animationDuration = duration; // Perform a full animation when
self.gifImageView.animationRepeatCount = repeatCount;// Animation number of repetitions
[self.gifImageView startAnimating];
}
但是当第一次点击按钮时,动画需要很长时间。当图像数量较少时它会正常工作。
图像的尺寸会产生问题吗?
请帮我解决它。
注意:我发现许多与此问题相关的帖子,但没有一个可以帮助我解决此问题。