当前位置:编程学习 > wap >>

iOS 第四章之UIImageView

IOS App 中很多地方都需要使用到图片,如:背景、小图标、Logo、按钮等。这些图片可以使用 UIImage  对象来创建,但是必须为图片指定一个专门的容器组件—UIImageView

 

 

UIImage

是一个专门存储图片数据的对象,可以代表的图片格式如下表


IOS 中,默认兼容的图片格式是 PNG

可以通过文件、Quartz image对象或 image Data数据得到一个图片对象,UIImage类还提供了使用多种混合模式和透明度绘制图像的方法

UIImage相关功能比较多,除了代表图片数据外,还可以对图片中的数据进行处理,从而产生不同的图片效果,这个在后面的 CoreImage 中学习。


 

 

UIImageView

    专门为图片提供的容器对象,所有的图片要项在界面中显示,必须先创建出 UIImage ,然后放入 UIImageView中。

关系图


 

 

练习:

UIImage创建

用UIImage加载图像的方法很多,最常用的是下面四种:

 一、从当前工程目录中得到图片,用imageNamed函数

 

[UIImage imageNamed:ImageName];

[UIImage imageNamed:@"a.png"];

 

 二、从数据库得到图片、用NSData的方式加载,一般从数据库读取图片使用,例如:

 

NSString *filePath = [[NSBundle mainBundle]pathForResource:fileName ofType:extension];

NSData *image = [NSDatadataWithContentsOfFile:filePath];

[UIImage imageWithData:image];

 

三,从文件目录中得到图片,使用[UIImage imageWithContentOfFile:] 或者[imageinitWithContentOfFile:]

 

NSString *filePath = [[NSBundle mainBundle]pathForResource:fileName ofType:@"图片扩展名"];

[UIImage imageWithContentsOfFile:aImagePath];

 

//绑定文件夹中  icon.png 的图片

NSString *path = [[NSBundle mainBundle]pathForResource:@”icon”ofType:@”png”];

NSImage *myImage = [UIImageimageWithContentsOfFile:path];

 

 

 

四、从网络得到图片

UIImage *image = [[UIImage alloc]initWithData:[NSData dataWithContentsOfURL:[NSURLURLWithString:@"/2013/0702/20130702085459778.jpg"]]];

 

UIImageView *imageView = [[UIImageView alloc]initWithImage:image];

 

 

 

——————————————————————————

 

 

 

UIImageView使用详解

 

UIImageView:可以通过UIImage加载图片赋给UIImageView,加载后你可以指定显示的位置和大小。

 

1、初始化

 

UIImageView *imageView = [[UIImageView alloc]      initWithFrame:CGRectMake(0.0,45.0,300,300)];

 

imageView.image = [UIImageimageNamed:@"a.png"];//加载入图片

 

[self.view addSubView:image];

 

[imageView release];

 

//imageNamed方法是不能通过路径进行加载图片的,此方式容易引起发生内存警告从而导致自动退出的问题。

 

//最好是通过直接读取文件路径[UIImageimageWithContentsOfFile]解决掉这个问题.

NSImage *image = [[NSImagealloc]initWithContentsOfURL:(NSURL *)];

 

NSImage *image = [[NSImagealloc]initWithContentsOfFile:(NSString *)];

 

////////////////////////////////////////////////

//让一个UIImageView响应点击事件 

//创建一个指定大小的图片区域

UIImageView *imgView =[[UIImageView alloc]initWithFrame:CGRectMake(0, 0,320, 44)];

//允许用户操作该 区域

imgView.userInteractionEnabled=YES;

//创建用户“轻击手势”的响应,并通过 @selector() 指定,用户点击后调用的方法

UITapGestureRecognizer *singleTap=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(onClickImage)];

//把手势对象,添加给视图对象

[imgView addGestureRecognizer:singleTap];

//释放资源

[singleTap release];

 

 

 

-(void)onClickImage{

   //here, do whatever you wantto do

   NSLog(@"imageview is clicked!");

}

 

 

 

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,