宽高比约束不会改变

时间:2017-06-09 05:45:42

标签: ios swift swift3 nslayoutconstraint

我有两种图像1.方形和其他2.比例为3:4的图像。我提前获得有关输入图像宽高比的信息(在currentImageAspectRatio中)。 我想在一个UIImageView中处理这两种图像。

在故事板中

我已将1:1和3:4约束添加到我的imageView,然后取消选中Installed以获得3:4约束。

代码

我的viewDidLoad

if currentImageAspectRatio == .square{
    // Already Square
} else {
    NSLayoutConstraint.deactivate([squareImageConstraint])
    imageView.addConstraint(threeByFourImageConstraint)
    self.view.layoutIfNeeded()
}

但这似乎不起作用。我也尝试在viewWillAppear:中添加相同的代码,但这也没有用。

如果我做错了,我很困惑。

而且我还需要建议哪些地方最适合做改变约束的地方(我想用viewWillLayoutSubviews)。

1 个答案:

答案 0 :(得分:0)

.+调用相同的代码为我工作。