В зависимости от того, насколько регулярны ваши ресурсы и анимации, вы можете создать несколько утилитарных методов для обработки большей части этого.
Как сказать:
+ (void) loadAnimation:(UIImageView *)imageView name:(NSString *)filename
{
NSMutableArray * array = [[NSMutableArray alloc] init];
UIImage * image;
int index = 1;
NSString * string;
do
{
string = [NSString stringWithFormat:@"%@%04d.png", filename, index++];
image = [UIImage imageNamed:string];
if(image)
[array addObject:image];
} while (image != nil);
imageView.animationImages = array;
imageView.animationDuration = [array count] / 18;
[array release];
}
Приведенный выше код загружает анимации в массив с очень регулярными соглашениями об именах (XXXX.png). Все они также основаны на одной и той же частоте кадров, поэтому я могу одновременно определять продолжительность.