2.imageWithContentsOfFile:
两种加载图片的方式有所不同:
1.加载Assets.xcassets这里面的图片:
1>打包后变成Assets.car
2>拿不到路径
3>只能通过imageNamed:来加载图片
4>不能通过imageWithContentsOfFile:来加载图片
2.放到项目中的图片:
1>可以拿到路径
2>能通过imageNamed:来加载图片
3>也能通过imageWithContentsOfFile:来加载图片
图片的两种加载方式:
1>imageNamed:
a.就算指向它的指针被销毁,该资源也不会被从内存中干掉
b.放到Assets.xcassets的图片,默认就有缓存
c.图片经常被使用 (需要缓存)
2>imageWithContentsOfFile:
a.指向它的指针被销毁,该资源会被从内存中干掉
b.放到项目中的图片就不带有缓存
c.不经常用,大批量的图片
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bgImage"]]
创建并设置默认图, 也可以
UIImageView*imageView = [[UIImageView alloc] init]
imageView.image= [UIImageimageNamed:@"bgImage"]
还可以这样先设置imageview的大, 在设置图片
UIImageView*imageView = [[UIImageView alloc] initWithFrame:(CGRectMake(0,144,SCREEN_Width,50))]
imageView.image= [UIImageimageNamed:@"bgImage"]
由此可看imageview的frame可以这样设置
imageView.frame=CGRectMake(0,144,SCREEN_Width,50)
通常我们使用的的imageview都会添加圆角边框
imageView.layer.masksToBounds = YES
imageView.layer.cornerRadius=25
imageView.layer.borderColor = [UIColor blueColor].CGColor
imageView.layer.borderWidth=1
这个圆角和边框像view和label以及button的设置方式都是一样的 当然imageview也一样
imageView.backgroundColor= [UIColorclearColor]图片设置背景颜色, 我通常使用clearColor 透明
imageView.userInteractionEnabled = YES图片设置成可交互, 设置为NO则不能交互
[self.viewaddSubview: imageView]添加视图也可叫做显示视图
设置图片内容的布局方式 imageView.contentMode
这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等
imageView.contentMode = UIViewContentModeScaleAspectFit
UIViewContentMode contentMode枚举类型
(1) UIViewContentModeScaleToFill 默认,对图片进行拉伸处理(不是按比例),是充满bouns
(2) UIViewContentModeScaleAspectFit 按原图比例进行拉伸,是图片完全展示在bouns中
(3) UIViewContentModeScaleAspectFill 按原图比例填充,使图片展示在bouns中,可能只显示部分
(4) UIViewContentModeRedraw 重划边界变化(重设 - setNeedsDisplay)
(5) UIViewContentModeCenter 图片显示在imageview的正中间,原图大小
(6) UIViewContentModeTop 图片显示在imageview的上部,原图大小
(7) UIViewContentModeBottom 图片显示在imageview的下部,原图大小
(8) UIViewContentModeLeft 图片显示在imageview的左部,原图大小
(9) UIViewContentModeRight 图片显示在imageview的右部,原图大小
(10) UIViewContentModeTopLeft 图片显示在imageview的左上部,原图大小
(11) UIViewContentModeTopRight 图片显示在imageview的右上部,原图大小
(12) UIViewContentModeBottomLeft 图片显示在imageview的左下部,原图大小
(13) UIViewContentModeBottomRight 图片显示在imageview的右下部,原图大小
imageView.alpha = 1.0 设置图片透明度
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"]
NSString *path2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"jpg"]
NSString *path3 = [[NSBundle mainBundle] pathForResource:@"3" ofType:@"jpg"]
imageView.animationImages = @[[UIImage imageWithContentsOfFile:path1],[UIImage imageWithContentsOfFile:path2],[UIImage imageWithContentsOfFile:path3]]
imageView.animationDuration = 5.0f 设置循环一次的时间
imageView.animationRepeatCount = 0 // 设置循环次数(0为无线循环)
[imageView startAnimating] // 开始动画
[imageView stopAnimating] // 停止动画
NSData *imageData = [NSData dataWithContentsOfFile:path]
UIImage *image4 = [UIImage imageWithData:imageData]
NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"]
UIImage *image2 = [UIImage imageWithContentsOfFile:path]
ImageView.hidden = NO 隐藏或者显示图片 YES为隐藏
[ImageView sizeToFit] 将图片尺寸调整为与内容图片相同
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)] // 设置手势
[ImageView addGestureRecognizer:singleTap] // 给图片添加手势
在ios教程中有很多种办法能够为imageView添加图片实现动画,专门整理了本篇为imageView添加图片实现动画的总结,希望能帮助到大家。 //为图片设置动态self.imageView.animationImages = animateArray //为动画设置持续时间self.imageView.animationDuration = 3.0//创建imageViewself.imageView = [[UIImageViewalloc]initWithFrame:CGRectMake(0, 40, 320, 260)]//把图片添加到动态数组NSMutableArray * animateArray = [[NSMutableArrayalloc]initWithCapacity:20] [animateArray addObject:[UIImage imageNamed:@"t1.png"]] [animateArray addObject:[UIImage imageNamed:@"t2.png"]] [animateArray addObject:[UIImage imageNamed:@"t3.png"]] [animateArray addObject:[UIImage imageNamed:@"t4.png"]] [animateArray addObject:[UIImage imageNamed:@"t5.png"]] [animateArray addObject:[UIImage imageNamed:@"t6.png"]] [animateArray addObject:[UIImage imageNamed:@"t7.png"]] [animateArray addObject:[UIImage imageNamed:@"t8.png"]] [animateArray addObject:[UIImage imageNamed:@"t9.png"]] [animateArray addObject:[UIImage imageNamed:@"t10.png"]] [animateArray addObject:[UIImage imageNamed:@"t11.png"]] [animateArray addObject:[UIImage imageNamed:@"t12.png"]] [animateArray addObject:[UIImage imageNamed:@"t13.png"]] [animateArray addObject:[UIImage imageNamed:@"t14.png"]] [animateArray addObject:[UIImage imageNamed:@"t15.png"]] [animateArray addObject:[UIImage imageNamed:@"t16.png"]] [animateArray addObject:[UIImage imageNamed:@"t17.png"]] [animateArray addObject:[UIImage imageNamed:@"t18.png"]] [animateArray addObject:[UIImage imageNamed:@"t19.png"]] [animateArray addObject:[UIImage imageNamed:@"t20.png"]] //开始播放动画 [self.imageView startAnimating]//为默认的无限循环self.imageView.animationRepeatCount = 0 [self.view addSubview:self.imageView]欢迎分享,转载请注明来源:内存溢出
评论列表(0条)