teepusink
teepusink

Reputation: 28922

Objective-C UIViewImage animation

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];

Upvotes: 0

Views: 6399

Answers (2)

Matt S.
Matt S.

Reputation: 13773

-(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

Upvotes: 2

pgb
pgb

Reputation: 25011

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;

Upvotes: 4

Related Questions