您的位置:首页 > 产品设计 > UI/UE

UIImageView——IOS显示图片的利器

2015-11-05 10:32 471 查看
首先在UIImageView中添加一张图片进来,然后同样也是在ViewDidLoad函数中进行代码的添写。

UIImage中建议使用:png 和 jpg 格式的图片

【1】创建一个图片对象

NSString *path =[[NSBundle mainBundle]resourcePath]; //得到工程目录的路径

NSString *imagePath =[[NSString stringWithFormat:@"%@,/1.png",path]; //使用工程目录路径拼接,得到图片路径

UIImage *image = [[UIImage alloc]initWithContentsOfFile:imagePath]; //创建一个对象,将图片路径放置进去

或者:

UIImage *image = [UIImage imageNamed:@"1.jpg"]; //如果后缀为png,甚至可以把png去掉。这种方法效率高,但是会将图片存入到内存中,直至程序结束才会将其释放

【2】创建一个图片载体

UIImageView *imageView = [[UIImageView alloc]initWithImage:image]; //初始化的时候,可以直接将图片加载到imageView中,图片显示在屏幕上的大小是由载体来控制的

imageView.frame = CGRectMake(10,100,355,400); //如果写成(10,100,image.size.width,image.size.height)显示的就是image原图的大小了

imageView.backgroundColor = [UIColor yellowColor];

[self.view addSubview:imageView];

【3】设置一个内容模式

/*UIViewContentModeScaleToFill —— 拉伸充满整个载体,内容模式默认模式

UIViewContentModeScaleAspectFill —— 拉伸,但不改变图片比例,充满载体最大的边

UIViewContentModeScaleAspectFit —— 拉伸,但不改变图片比例,充满载体最小的边
*/

imageView.contentMode = UIViewContentModeCenter; //此时,图片居中了,并且不被拉伸,保持了原图的大小。

【4】UIIMageView动画 —— 播放序列图

假设导入一套序列图,命名格式为1.png~12.png。在这之前,我们还需要把前面的代码注释掉,这里采用添加代码“#if 0 需要注释的部分 #endif”的方式即可。

NSMutableArray *imageArray =[[NSMutableArray alloc]init];

/*NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。

NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容

NSArray和NSmutableArray的第一个数据的下标为0。*/

for(int i=1; i< = 12,i++){

UIImage *image = [[UIImage imageNamed:[NSString stringWithFormat:@"png%@.png",1]];

[imageArray addObject:image];

}

UIImageView *imageView = [[UIIMageView alloc]init]; //因为这里是一套序列图,不是单一图片,所以就不需要initWith了

imageView.frame = CGRectMake((375-407)/2,100,407,207);

imageView.backgroundColor = [UIColor ];

[self.view addSubview:imageView];

imageView.animationImages = imageArray; //设置动画数组

imageView.animationDuration = 2; //设置播放周期时间,这里以秒为单位

imageView.animationRepeatCount = 10; //设置执行的次数,若设为0,则不停止,直到执行[imageView stopAnimating];

[imageView startAnimating]; //开始播放动画
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: