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 ,