UIImage和UIImageView,动态图

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];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容