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:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.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!");

}

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值