目前,我设置了一个视图的高度和宽度限制,稍后将其添加到堆栈视图中,如下所示:(供您参考,productstable是一个uitableview)。

    productsTable.heightAnchor.constraintEqualToConstant(tableHeight).active = true
    productsTable.widthAnchor.constraintEqualToConstant(stackWidth).active = true
    stackView.insertArrangedSubview(productsTable, atIndex: productsTableIndex)

稍后,在viewwill中,我想将productstable高度更改如下:
productsTable.heightAnchor.constraintEqualToConstant(newHeight).active = true.

尽管如此,在viewwill中的约束出现(更改/更新)之后,表视图仍然保持相同的大小。是否有什么我做错了或可以做的不同,以达到预期的效果?

最佳答案

您需要保留对第一次创建的高度约束的引用。

let heightConstraint = productsTable.heightAnchor.constraintEqualToConstant(tableHeight)
heightConstraint.active = true

稍后,在viewwillappear()中,可以直接将此约束的常量属性设置为newheight。
heightConstraint.constant = newHeight

关于swift - 更新UIStackView内部 View 的高度约束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35731614/

10-09 13:36