1.简单介绍
UIImageView是一个加载图片的视图,和UILabel一样,都是继承于UIView的。和UILabel不一样的是UILabel是用来显示文字,而UIImageView是用来加载图片的,所有图片都需要放置在UIImageView上才能被加载出来。
2.常用属性
- 简单的使用
//创建
imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100,200, 200)];
//背景颜色
imageView.backgroundColor = [UIColor orangeColor];
//图片
imageView.image = [UIImage imageNamed:@"Image"];
//边框
imageView.layer.borderWidth = 1;
imageView.layer.borderColor = [UIColor redColor].CGColor;
//裁剪
//imageView.clipsToBounds = YES;
//添加
[self.view addSubview:imageView];
- 设置加载图片的模式
//加载图片模式
self.contentMode = UIViewUIViewContentMode
typedef enum {
UIViewContentModeScaleToFill, //缩放图片填充满UIImageView
UIViewContentModeScaleAspectFit, //按图片的宽高比缩放,在UIImageView中显示图片整体,多余区域为透明空白, 图片不会变形
UIViewContentModeScaleAspectFill, //按图片的宽高比缩放,填充满UIImageView,超出容器部分会被裁减
UIViewContentModeRedraw, // bounds 改变时调用-setNeedsDisplay, 重绘视图
UIViewContentModeCenter, // 图片尺寸不变,与UIImageView中心对齐
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
}UIViewContentMode;
规律:
1.包含Scale单词的,都会对图片进行拉伸(缩放);
2.没有出现Scale单词的,都不会对图片进行拉伸;
3.包含Aspect单词的, 都会按照图片的宽高比来拉伸.
3.代码例子
- 缩放图片填充满UIImageView
imageView.contentMode = UIViewContentModeScaleToFill;
- 按图片的宽高比缩放,在UIImageView中显示图片整体,多余区域为透明空白, 图片不会变形
imageView.contentMode = UIViewContentModeScaleAspectFit;
- 按图片的宽高比缩放,填充满UIImageView,超出容器部分会被裁减
imageView.contentMode = UIViewContentModeScaleAspectFill;
- 图片尺寸不变,与UIImageView中心对齐
imageView.contentMode = UIViewUIViewContentModeCenter;