我正在使用UIImageView
内容模式设置为 Aspect Fit 。 UIImageView
正确调整了我的图像大小,但即使没有设置约束,它也不会在调整大小后更改自己的帧。
UIImageView
根据图片内部调整自己的帧。我在故事板上配置了图像视图。我创建了:
正如您在正确缩放图像后看到的那样,UIImageView的框架仍然具有不正确的尺寸(灰色背景)。
我试图手动设置UIImageView大小:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let newSize = AVMakeRect(aspectRatio: backgroundImageView.image!.size, insideRect: backgroundImageView.frame)
backgroundImageView.frame = newSize
}
在该示例代码中,我计算了图像大小并将帧大小设置为图像的大小。我不知道它是否更好,所以我不需要使用AVFoundation的方法。
问题:其他对象放置不正确,因为UIImageView的大小已更改且约束现在无效。
这些方法对我不起作用:
self.view.setNeedsLayout()
self.view.layoutIfNeeded()
即使我在viewDidLayoutSubviews()
调用我的UIImageView大小计算,其他约束仍然使用旧的UIImageView的大小。