1

目前,我设置了我稍后添加到堆栈视图中的一个视图的高度和宽度约束,如下所示:(供您参考,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 中的约束之后,表视图仍保持相同的大小。有什么我做错了或者可以做不同的事情来达到预期的效果吗?

4

1 回答 1

5

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

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

稍后,在 viewWillAppear() 中,您将能够直接将此约束的常量属性设置为 newHeight。

heightConstraint.constant = newHeight
于 2016-03-01T22:36:56.623 回答