宽高比约束没有改变
Aspect ratio constraint not getting altered
我有两种图像 1.Square 和其他 2. 比例 3:4 的图像。并且我提前获得有关传入图像的纵横比的信息(在 currentImageAspectRatio
中)。
我想在一个 UIImageView 中处理两种图像。
在情节提要中
我已将 1:1 和 3:4 约束添加到我的 imageView,然后取消选中 3:4 约束的 Installed
。
在代码中
我的 viewDidLoad
有
if currentImageAspectRatio == .square{
// Already Square
} else {
NSLayoutConstraint.deactivate([squareImageConstraint])
imageView.addConstraint(threeByFourImageConstraint)
self.view.layoutIfNeeded()
}
但这似乎不起作用。我也尝试在 viewWillAppear:
中放入相同的代码,但那也没用。
如果我做错了什么,我会感到困惑。
而且我还需要一些建议,告诉我在哪里最适合做诸如更改约束之类的事情(我正在考虑使用 viewWillLayoutSubviews
)。
从 viewDidLayoutSubviews
调用相同的代码对我有用。
我有两种图像 1.Square 和其他 2. 比例 3:4 的图像。并且我提前获得有关传入图像的纵横比的信息(在 currentImageAspectRatio
中)。
我想在一个 UIImageView 中处理两种图像。
在情节提要中
我已将 1:1 和 3:4 约束添加到我的 imageView,然后取消选中 3:4 约束的 Installed
。
在代码中
我的 viewDidLoad
有
if currentImageAspectRatio == .square{
// Already Square
} else {
NSLayoutConstraint.deactivate([squareImageConstraint])
imageView.addConstraint(threeByFourImageConstraint)
self.view.layoutIfNeeded()
}
但这似乎不起作用。我也尝试在 viewWillAppear:
中放入相同的代码,但那也没用。
如果我做错了什么,我会感到困惑。
而且我还需要一些建议,告诉我在哪里最适合做诸如更改约束之类的事情(我正在考虑使用 viewWillLayoutSubviews
)。
从 viewDidLayoutSubviews
调用相同的代码对我有用。