程序员iOS开发

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相关知识,请继续关注茶哥儿!

创造即永恒,喝茶去……

上一篇下一篇

猜你喜欢

热点阅读