我有一个固定大小的图像视图。 但是我想在不拉伸的情况下将每种尺寸的图像都装入其中。
我试过这个
在方法resizeImage中,我传递了我选择的图像和 UIImageView的大小。
func resizeImage(image: UIImage, size: CGSize) -> UIImage {
UIGraphicsBeginImageContext(size)
image.drawInRect(CGRectMake(0, 0, size.width, size.height))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
但这不起作用,它仍然会返回拉伸的图像。
请让我知道什么是正确的解决方案。
由于
答案 0 :(得分:1)
我认为您所寻找的是UIImageView
的{{1}}财产。像这样:
contentMode
此值将确保在设置视图的图像时,图像将尽可能地填充视图而不拉伸图像。您也可以使用myImageView.contentMode = .ScaleAspectFit
完全填充视图,但随后会裁剪您的图片。
答案 1 :(得分:1)
这样做:
imageView.contentMode = .ScaleAspectFill
当你这样做时,会发生两件事: