UIImage和UIImageView,动态图
2016-03-12 本文已影响360人
每日总结
UIImage继承于NSObject 不是一个控件,它是用来加载图片的,而我们想要让图片显示出来我们需要用某些控件将其展示出来;
//加载本地(本台电脑上)的图片 根据本地路径的方式
//如果你的工程换了一台电脑 或者你的图片换了路径 都会导致加载失败
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:@"/User/XXX/Desktop/R1.tiff"]];
imageView.frame = CGRectMake(100,100,100,100);
[self.window addSubview:imageView];
[imageView release];
//加载工程中的图片
UIImageView *imageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"R3.tiff"]];
imageView2.frame = CGRectMake(100,100,100,100);
[self.window addSubview:imageView2];
[imageView2 release];
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(100,200,300,400)];
imageView3.image = [UIImage imageNamed:@"R2.tiff"];
[self.window addSubview:imageView3];
[imageView3 release];
所谓的动图其实就是我们看到的GIF图,而GIF图是由N张静态图组成的,我们要通过ImageView.animationImages这个属性让他动起来,相当于把所有的静态图添加到这个数组中;
NSMutableArray *imageArr = [NSMutableArray arrayWithCapacity:0];
for (int i = 1; i < 7; i++) {
[imageArr addObject:[UIImage imageNamed:[NSString stringWithFormat:@"R%d.tiff",i]]];
}
//将已经装载好静态图的数组赋值给imageView自带的动画数组
imageView3.animationImages = imageArr;
//设置动画时间 = 单张图片时间*图片张数
imageView3.animationDuration = 0.01*imageArr.count;
// 设置动画执行次数 默认是无数次
imageView3.animationRepeatCount = 2;
//开始动画 没有这行代码 不会有动画效果
[imageView3 startAnimating];
//停止动画
[imageView3 stopAnimating];
//是否在进行动画
BOOL a = [imageView3 isAnimating];