如何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