UIImageViews的基本使用
1. 创建imageview
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; 设置图片透明度
2. 图片设置加载动画
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]; // 停止动画
3. 使用imageWithData
NSData *imageData = [NSData dataWithContentsOfFile:path];
UIImage *image4 = [UIImage imageWithData:imageData];
4. 使用imageWithContentsOfFile
NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"];
UIImage *image2 = [UIImage imageWithContentsOfFile:path];
5. UIimageview拓展
ImageView.hidden = NO; 隐藏或者显示图片 YES为隐藏
[ImageView sizeToFit]; 将图片尺寸调整为与内容图片相同
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)]; // 设置手势
[ImageView addGestureRecognizer:singleTap]; // 给图片添加手势