一、UIViewContentModeScaleAspectFit
按照"图片的宽高"比例缩放图片至图片的宽度或者高度和UIImageView一样, 并且让整个图片都在UIImageView中. 然后居中显示,图片小于imageView的部分会透明显示。
UIImageView *imageView =[[UIImageView alloc]init];
imageView.contentMode = UIViewContentModeScaleAspectFit;
[self.view addSubview:imageView];
UIImage *image = [UIImage imageNamed:@"launch_bg_welcome"];
imageView.image =image;
imageView.frame = self.view.frame;
imageView.backgroundColor = [UIColor redColor];
CGFloat scale = image.size.width/image.size.height;
CGFloat scalex = imageView.frame.size.width/image.size.width;
CGFloat scaley = imageView.frame.size.height/image.size.height;
if (scalex/scaley>1) {
NSLog(@"高先充满");
}else{
NSLog(@"宽先充满");
}
适用场景:控件和图片宽高比不一致,为了保证图片看起来不变形而且图片颜色和背景颜色差不多,显示部分背景不影响观感。
二、 UIViewContentModeScaleToFill
内容扩展填充固定方面。部分内容可能剪。可能会导致最后宽或者高超出边框范围,这个时候就clipsToBounds就可以了
网友评论