UIImageView提供了实现简单动画的功能。比如要实现这样的功能:
跳动的火焰。基本思路是,一个数组,包含火焰跳动所需的多张图片。然后设置播放时间,并开始播放。UIImageView已经提供了这方面的机制,只需把图片数组交给它,并设置播放间隔,是否循环播放,以及何时开始,就可以了。
代码如下:
UIImageView *contentView = [[MyUIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; contentView.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 contentView.animationDuration = 1.75; // repeat the annimation forever contentView.animationRepeatCount = 0; // start animating [contentView startAnimating];
本文参考的是:http://appsamuck.com/day2.html,可下载文章后面的zip包,并取出有关火焰的图片,放置在resources目录下即可。