1、简单介绍UIImageView
UIImageView是一个加载图片的视图,和UILabel一样,UIImageView也是继承于UIView的,和UILabel不同的是,UILabel是用来显示文字,而UIImageView是用来加载图片的,所有图片都需要放置在UIImageView上才能被加载出来。
既然UIImageView是继承于UIView的,那么,它当然也拥有UIView的所有属性和方法,同时,它还有自己特有的属性和方法。
2、简单使用UIImageView
UIImageView的使用与UIView的使用大同小异。UILabel是用来显示文字的,它的一个特有属性为text,UIImageView是用来加载图片的,它的一个特有属性为image。
- (UIImageView *)imageView
{
if (!_imageView) {
_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];
}
return _imageView;
}
3、常用属性-contentMode
//加载图片模式
typedef NS_ENUM(NSInteger, UIViewContentMode) {
UIViewContentModeScaleToFill, //缩放图片填充满UIImageView
UIViewContentModeScaleAspectFit, //按图片的宽高比缩放,在UIImageView中显示图片整体,多余区域为透明空白, 图片不会变形
UIViewContentModeScaleAspectFill, //按图片的宽高比缩放,填充满UIImageView,超出容器部分会被裁减
UIViewContentModeRedraw, // bounds 改变时调用-setNeedsDisplay, 重绘视图
UIViewContentModeCenter, // 图片尺寸不变,与UIImageView中心对齐
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
};
规律:
1、包含Scale单词的,都会对图片进行拉伸(缩放);
2、没有出现Scale单词的,都不会对图片进行拉伸;
3、包含Aspect单词的, 都会按照图片的宽高比来拉伸.
下面具体演示不同的模式对加载图片的影响
self.imageView.contentMode = UIViewContentModeScaleToFill;
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
self.imageView.contentMode = UIViewContentModeCenter;