iOS中有许许多多的动画方式今天先给大家介绍最简单的两种:头尾式动画和帧动画
一. 所谓头尾式动画,顾名思义,就是在需要动画的代码开始的时候设置开始动画,在需要动画的代码结束的时候结束动画,这就是简单的头尾式动画,二话不多说,上代码:
//开始动画 [UIView beginAnimations:nil context:nil]; //设置动画延迟执行时间
[UIView setAnimationDelay:2];
//设置动画执行过程需要时间
[UIView setAnimationDuration:2]; //这里加需要动画的代码 //结束动画 [UIView commitAnimations];
二. 帧动画,相信对做flash的人来说帧动画相当熟悉,相信大家都记得小时候看过的动画,那些动画就是由一页一页的图案组成,然后快速的进行切换,在我们的视觉感官上就形成了动画!帧动画需要很多一帧一帧的图片.
@interface ViewController () @property (nonatomic,weak)UIImageView *imgView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //imgView.animationImages = "装有帧动画需要的图片的数组" //设置动画重复次数 self.imgView.animationRepeatCount = 1; //设置动画播放时间(2秒) self.imgView.animationDuration = 2; //开始动画 [self.imgView startAnimating]; //但是这种动画需要占用很大内存,所以在播放完毕后要清空内存,但是清空内存的时候要加延迟时间,否则动画还没有播放就已经释放了 CGFloat delay = self.imgView.animationDuration +1.0; [self performSelector:@selector(clearCache) withObject:nil afterDelay:delay]; } - (void)clearCache{ self.imgView.animationImages = nil; }
三. block动画:
[UIView animateWithDuration:1.5 animations:^{ //想要做的动画代码 } completion:^(BOOL finished) { //当动画执行完毕后需要执行的代码 }];