我有一个UIImage对象数组,如下所示:
frames = [[NSMutableArray alloc] initWithCapacity:[sortedArray count]];
for (int nDx = 0; nDx < [sortedArray count]; nDx++)
{
NSString * sImageName = [sortedArray objectAtIndex:nDx];
[frames addObject:[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@", imageFolderPath, sImageName]]];
}
在我的计时器方法中,我正在执行以下操作以循环显示图像:
self.image = [frames objectAtIndex:currentFrame];
currentFrame++;
if (currentFrame >= [frames count]) currentFrame = 0;
然而,当我启动计时器时,图像循环第一次变慢,然后一切都按预期工作。我没有计时器也试过这个。
如何预先加载图像,以便在我的计时器启动时准备就绪?
感谢您的帮助。
答案 0 :(得分:0)
使用this代码,您可以使用单独的线程加载图像。
如果有效,我会在这里添加。
答案 1 :(得分:0)
这里img_array是UIImageView
img_array.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"img_1.png"],
[UIImage imageNamed:@"img_2.png"],
[UIImage imageNamed:@"img_3.png"],nil];
[img_array.animationImages setAnimationRepeatCount:HUGE_VAL];
img_array.animationImages .animationDuration = 4;
[img_array.animationImages startAnimating];
[self.view addSubview:img_array]
试试这个: