Animating with the UIImageView



For day 2 I picked something that has been popular in the App Store… “Animations”.  The first App I did was iFlame which was a simple video of a flame I shot myself.  At the time I had not seen a flame or lighter in the App Store and thought it would be cool to have a flame to hold up at a concert.  My first challenge was getting my flame video to repeat without a pause.   Then, I soon saw Crazy Lighter and wondered how they got it working with an infinite loop.  I cannot say this is “the” way that Crazy Lighter works but this will do for us.  Instead of using a video you can use a UIImageView with a sequence of images and just loop them.  The key section of code is below.

       // create the view that will execute our animation
     UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame];
     
     // load all the frames of our animation
     campFireView.animationImages = [NSArray arrayWithObjects:   
                                 [UIImage imageNamed:@"campFire01.gif"],
                                 [UIImage imageNamed:@"campFire02.gif"],
                                 [UIImage imageNamed:@"campFire03.gif"],
                                 [UIImage imageNamed:@"campFire04.gif"],
                                 [UIImage imageNamed:@"campFire05.gif"],
                                 [UIImage imageNamed:@"campFire06.gif"],
                                 [UIImage imageNamed:@"campFire07.gif"],
                                 [UIImage imageNamed:@"campFire08.gif"],
                                 [UIImage imageNamed:@"campFire09.gif"],
                                 [UIImage imageNamed:@"campFire10.gif"],
                                 [UIImage imageNamed:@"campFire11.gif"],
                                 [UIImage imageNamed:@"campFire12.gif"],
                                 [UIImage imageNamed:@"campFire13.gif"],
                                 [UIImage imageNamed:@"campFire14.gif"],
                                 [UIImage imageNamed:@"campFire15.gif"],
                                 [UIImage imageNamed:@"campFire16.gif"],
                                 [UIImage imageNamed:@"campFire17.gif"], nil];
     
     // all frames will execute in 1.75 seconds
     campFireView.animationDuration = 1.75;
     // repeat the annimation forever
     campFireView.animationRepeatCount = 0;
     // start animating
     [campFireView startAnimating];
     // add the animation view to the main window
     [self.view addSubview:campFireView];

See ya’ tomorow


Download Source Code:  Bonfire.zip