iOS-视图之UIImageView
2016-03-14 本文已影响374人
茶哥儿
今天我们来一起学习UIImageView的用法,由名字可以知道,今天的这个视图是用来显示图片的。
图片是信息传播的的一种重要方式,它相对于文字来讲更加的直观、生动、形象的展示信息,iOS的图片类提供了很多的功能来满足开发的需要。
首先,还是一样的视图类创建:
//父类是UIView,以后这句话就不加注释了,茶哥非常喜欢用这种方式来创建视图类(storyboard的使用除外)
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];
[self.view addSubview:imageView];
UIImageView.png
在这里使用三种方式来加载一张图片:
first
UIImage *im = [UIImage imageNamed:@"tea.png"];
second
//这个 mainbundle 就是 当前的可执行app 的在根目录下的绝对路径
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"tea" ofType:@"png"];
UIImage *im = [UIImage imageWithContentsOfFile:imagePath];
third
/*这里的data是用本地的图片路径找到图片后转换来的,NSData是数据类,我们网络请求下来的图片
数据也可以用NSData接收*/
NSData *data = [NSData dataWithContentsOfFile:imagePath];
UIImage *im = [UIImage imageWithData:data];
第一种和第二种其实是使用的相同的原理加载图片,即将图片CaChe到内存中,而第三种方式图片会以数据的形式加载到系统中,而这个数据可以是本地转换的,也可以是从网络图片中获取的,所以我们的UIImageView不仅可以显示本地图片还可以显示网络图片。
此外还有另外一个比较重要的属性contentMode,这个属性用来设置图片的显示方式。
//参数为UIViewContentMode枚举类型
[imageView setContentMode:UIViewContentModeScaleToFill];
UIViewContentMode具体参数如下:
typedef NS_ENUM(NSInteger, UIViewContentMode) {
UIViewContentModeScaleToFill, //拉伸自适应填满
UIViewContentModeScaleAspectFit, //自适应比例大小
UIViewContentModeScaleAspectFill, //原始尺寸
UIViewContentModeRedraw, //尺寸改变时重新绘制
UIViewContentModeCenter, //居中
UIViewContentModeTop, //置顶
UIViewContentModeBottom, //置底
UIViewContentModeLeft, //居左
UIViewContentModeRight, //居右
UIViewContentModeTopLeft, //居左上
UIViewContentModeTopRight, //居右上
UIViewContentModeBottomLeft, //居左下
UIViewContentModeBottomRight, //居右下
};
我们还可以添加一组图片,让我们的图片动起来,类似于gif图
//首先将所有的组图放入一个数组中
UIImage *im1 = [UIImage imageNamed:@"tea1.png"];
UIImage *im2 = [UIImage imageNamed:@"tea2.png"];
UIImage *im3 = [UIImage imageNamed:@"tea3.png"];
NSArray *imArr = @[im1,im2,im3];
[imageView setAnimationImages:imArr];
//设定动画时间
[imageView setAnimationDuration:2];
//设置播放次数,0表示无限播放
[imageView setAnimationRepeatCount:0];
//开始播放
[imageView startAnimating];
//判断是否正在播放动画
if (imageView.isAnimating) {
NSLog(@"动画正在播放");
}
//停止播放
[imageView stopAnimating];
以上便是UIImageView的使用,不难吧,想了解更多iOS相关知识,请继续关注茶哥儿!
创造即永恒,喝茶去……