我正在构建一个应用程序,您可以在其中拖动图像。当前看起来像这样:
您可以看到,我从图像视图中将背景颜色标记为绿色。图像视图具有contentMode AspectFit,并且比其后面的黑色视图小40像素。我希望图像是图像视图的整个长度和宽度。 contentMode应该为AspectFit,图像不会被剪切掉。是否可以调整图像大小,使其具有20像素或更大的视图空间?
@ adri567您应该使用UIViewContentModeScaleToFill
属性,如
imageView.contentMode = .scaleToFill
尝试一下!
如果要保持图像的大小不变,但又不想拉伸图像。您的解决方案还有别的。
将图像显示为问题中的.aspectFit
您显示的绿色视图将其替换为.aspectFill中的相同图像,但尽可能模糊它看起来不错。
简单的数学可以解决这个问题。
对于快捷方式:H->高度,W->宽度
我们知道它的一般公式是:h1 / w1 = h2 / w2
Hscreen / Wscreen = Himage / Wimage
所以我们知道屏幕宽度,图像高度和图像宽度。
我们可以将屏幕宽度设为-> view.frame.width
我们也可以通过-> image.size.width和image.size.height获得图像大小
Hscreen =(Himage)*(WScreen)/ Wimage..
您可以使用Hscreen来imageViews高度锚点。