如何pipe理UIImageView内容模式?

我有一个固定矩形大小的UIImageView。 但是我的图像不是固定的大小。 我想根据UIImageView的矩形尺寸显示图像。 无论图像分辨率大还是大,都必须根据UIImageView的大小进行固定显示。 我在使用下面的资产时感到困惑。

UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, UIViewContentModeScaleAspectFill, UIViewContentModeRedraw 

在autoresize掩码中设置什么? 他们如何performance?

请尝试这个代码,希望它会为你工作。

UIImageView contentMode设置为UIViewContentModeScaleAspectFill ,如下所示:

 imageView.contentMode = UIViewContentModeScaleAspectFill; 

设置UIImageView的autoresizingMask,如下所示:

 imageView.autoresizingMask = ( UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth ); 

这里有一个解决scheme:

 let imageView = UIImageView(image: UIImage(named: "backgroundImage")) imageView.frame = tableView.frame imageView.contentMode = .ScaleAspectFill tableView.backgroundView = imageView 

如果你想根据比例使你的UIImageView大小,那么你必须将它的模式设置为UIViewContentModeScaleAspectFit

  yourimage.contentMode=UIViewContentModeScaleAspectFit; 

让我知道它工作与否!

快乐的编码。

在swift中,您也可以设置内容模式

 var newImgThumb : UIImageView newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70)) newImgThumb.contentMode = .ScaleAspectFit 

值得注意的是迅捷3已经改变如下

ScaleAspectFit scaleAspectFit

ScaleAspectFill到。 scaleAspectFill

希望这对你有帮助

 CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect); image = [UIImage imageWithCGImage:imageRef]]; CGImageRelease(imageRef); 

你只需要这两行:

 imageView.contentMode = UIViewContentModeScaleAspectFill; imageView.layer.clipsToBounds = YES; // Must do this or else image will overflow