UIImageView不正确地呈现图像的大小。使用尺度方面适合,如果UIImageView是一个平方,图像是正确的纵横比与透明度,在图像不填充的地区。
//Image is Square & Correct Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 320))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit
//Image is Rectangle & Incorrect Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 450))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFitUIImageView需要触摸边缘,在屏幕的顶部和底部有透明的空间,里面的图像需要保持原来的比例,而不是伸展得更高。我已经附加了两张图片,说明UIImageView内部的图像是如何呈现的。


发布于 2015-01-19 14:23:18
我在UIImageView中添加了一个自动调整大小的掩码,它现在显示正确的比率。
imageView.autoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth
imageView.contentMode = UIViewContentMode.ScaleAspectFit这个答案帮助了我:当我使用一张通过手机摄像头拍摄的图像时,Captured photo is stretched with AVCaptureSession sessionPreset = AVCaptureSessionPresetPhoto。
发布于 2015-11-22 01:18:53
我也遇到了同样的问题,为我解决这个问题的是确保在内容模式设置之后设置imageView图像。ie:
self.imageView.contentMode = UIViewContentMode.ScaleAspectFit
self.imageView.image = imageChosen干杯
发布于 2016-12-21 15:35:13
Swift 3版本的代码:
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight, .flexibleBottomMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleTopMargin]
imageView.contentMode = .scaleAspectFit // OR .scaleAspectFill
imageView.clipsToBounds = truehttps://stackoverflow.com/questions/27961884
复制相似问题