views:

710

answers:

3

Hi,

Right now I'm able to do a simple animation using the code below. However, the below solution needs me to predefine the image names. How can I do something like NSArray.push("image1.png"); for example? Then assign the dynamic array as the animationImages?

Thank you, Tee

UIImageView* animationView = [[UIImageView alloc] initWithFrame:self.view.frame];

animationView.animationImages = [NSArray arrayWithObjects:  
[UIImage imageNamed:@"transition 1.png"],
[UIImage imageNamed:@"transition 2.png"],
[UIImage imageNamed:@"transition 3.png"],
[UIImage imageNamed:@"transition 4.png"],
[UIImage imageNamed:@"transition 5.png"], nil];
+2  A: 

You can use NSMutableArray, and add objects to it using addObject:. For example:

NSMutableArray *a = [NSMutableArray array];
[a addObject:[UIImage imageNamed:@"transition 1.png"]];
[a addObject:[UIImage imageNamed:@"transition 1.png"]];

animationView.animationImages = a;
pgb
A: 
-(void)animate
{
name.animationImages = [NSArray arrayWithObjects:    
        [UIImage imageNamed:@"1.png"],
        [UIImage imageNamed:@"2.png"],
        [UIImage imageNamed:@"3.png"],
         nil];
//duration of whole animation
name.animationDuration = 3;
// repeat the annimation forever
name.animationRepeatCount = 0;
// start animating
[name startAnimating];
// add the animation view to the main window 
[self.view addSubview:name];

}

That's the way I animate images. Just call animate wherever and it'll do its stuff

Matt S.
A: 

@pgb, thank you your snippet works. I was using [[NSMutableArray alloc] init] instead of [NSMutableArray array] and that seems to be the issue.

Thanks, Tee

teepusink
Glad it work. Please comment on my response instead, and delete this answer, to keep the site tidy (also, you may want to accept the answer you like, using the big check mark image).
pgb