目前,我设置了我的一个视图的高度和宽度限制,我稍后将其添加到堆栈视图中,如下所示:(有关您的信息,productsTable是一个UITableView。)
productsTable.heightAnchor.constraintEqualToConstant(tableHeight).active = true
productsTable.widthAnchor.constraintEqualToConstant(stackWidth).active = true
stackView.insertArrangedSubview(productsTable, atIndex: productsTableIndex)
稍后,在ViewWillAppear中,我想更改productsTable高度,如下所示:
productsTable.heightAnchor.constraintEqualToConstant(newHeight).active = true.
尽管如此,在ViewWillAppear中的约束(更改/更新)之后,表视图仍保持相同的大小。有什么我做错了,或者能做些什么来达到预期的效果?
答案 0 :(得分:3)
您需要保留对第一次创建的高度约束的引用。
let heightConstraint = productsTable.heightAnchor.constraintEqualToConstant(tableHeight)
heightConstraint.active = true
稍后,在viewWillAppear()中,您将能够直接将此约束的常量属性设置为newHeight。
heightConstraint.constant = newHeight