//
// ViewController.m
// 逐帧动画
//
// Created by DC017 on 15/12/22.
// Copyright © 2015年 DC017. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
{
NSMutableArray * muarray;
UIImageView * imageView;
UIImage * image;
UIImage * imageII;
CALayer * layer;
int current;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self diYiZhong];
[self diErZhong];
}
-(void)diYiZhong{
muarray=[[NSMutableArray alloc]initWithCapacity:10];
imageView=[[UIImageView alloc]initWithFrame:CGRectMake(40, 200, 298, 215)];
[self.view addSubview:imageView];
for(int i=1;i<=87 ;i++){
image=[UIImage imageNamed:[NSString stringWithFormat:@"dazhao_%d",i]];
[muarray addObject:image];
}
imageView.animationImages=muarray;//动画数组
imageView.animationDuration=0.02* [muarray count];//一秒显示10张
imageView.animationRepeatCount=HUGE_VALF;//重复无线次
[imageView startAnimating];
}
-(void)diErZhong{
//创建图层
layer=[[CALayer alloc]init];
layer.frame=CGRectMake(40, 400, 298, 215);
[self.view.layer addSublayer:layer];
//定义时钟对象
CADisplayLink * displayLink=[CADisplayLink displayLinkWithTarget:self selector:@selector(step)];
//添加时钟对象到主运行循环
[displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
}
-(void)step{
static int s=0;
s++;
if (s%1==0) {
imageII=muarray[current];
layer.contents=(id)imageII.CGImage;//更新图片
current=(current+1)%87;
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end