以编程方式更改纵横比约束值

Change Aspect Ratio constraint value programmatically

我正在使用 AutoLayout 进行应用程序设计。对于我的 HeaderView 之一,我使用 AspectRatio 设置了它的高度。

现在,当主视图不包含任何数据时,HeaderView 高度应为 0,添加数据时,应再次将其设置为原始纵横比。

我们能否在更改任何约束的常量值时更改纵横比。我试过下面的代码,但它不能正常工作。

@IBOutlet weak var constOptions_Height: NSLayoutConstraint!
if arrData.count == 0 {
    constOptions_Height.constant = 0.0
}
else{
    constOptions_Height.constant = 50.0
}

您可以使用以下方法

给出两个约束条件。一个用于纵横比,另一个用于高度。

让两者交替活跃就好

constOptions_Aspect.isActive = false
constOptions_Height.isActive = true 

你可以给高度零,高度常量。