我有两种图像 1.正方形和其他 2.比例为 3:4 的图像。我提前获得有关传入图像的长宽比的信息(位于 currentImageAspectRatio 中)。 我想在一个 UIImageView 中处理这两种图像。
在 Storyboard
我已向 imageView 添加了 1:1 和 3:4 约束,然后取消选中 3:4 约束的Installed
。
在代码中
我的viewDidLoad
有
if currentImageAspectRatio == .square{
// Already Square
} else {
NSLayoutConstraint.deactivate([squareImageConstraint])
imageView.addConstraint(threeByFourImageConstraint)
self.view.layoutIfNeeded()
}
但这似乎不起作用。我还尝试将相同的代码放入 viewWillAppear:
中,但这也不起作用。
如果我做错了什么,我会很困惑。
而且我还需要建议哪里是最理想的地方来做这些事情,比如改变约束(我想使用viewWillLayoutSubviews
)。
最佳答案
从 viewDidLayoutSubviews
调用相同的代码对我有用。
关于ios - 长宽比限制没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44450109/