我想让UIImageView
尽可能地装满一个容器,但其中的图片应保持其长宽比,并且该容器应适合其中的图片尺寸。
这是当它无法正常工作时的状态的图片:
我已经解决了这个问题,但是只有在第一次加载视图时,当我更改imageView的图像时,它才会变得越来越小。
我通过此扩展程序解决了该问题:
因此,在获取UIImage
时,我调用layout方法对UIView进行布局,然后在UIImageView中设置图像。接下来,在父UIView的绘制方法中,我计算contentClippingRect
的{{1}},然后将UIImageView
的约束条件设置为UIImageView
并再次进行布局。>
当imageView内没有图像时,“我的布局”方法将contentClippingRect
的约束重置为整个容器的约束。
但是,正如我所说,当我更改图片时,它将不起作用,并且在更改图片时存在约束问题。
这是我尝试过的:
UIImageView
非常感谢您的帮助!
答案 0 :(得分:1)
您还可以根据情节提要来调整外观。转到该imageView的属性检查器,您将从那里找到内容模式。这是一个示例
您也可以通过编程方式执行此操作。
快速
yourImageView.contentMode = .scaleAspectFill // or you can use .scaleToFill
对于目标c
yourimageView.contentMode = UIViewContentModeScaleAspectFit;
以下是一些可以编程使用的contentModes。
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw,
UIViewContentModeCenter,
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,