将视图添加到堆栈视图并更改高度约束以保持比率

时间:2017-12-27 05:54:55

标签: ios swift constraints

在向堆栈视图添加新视图时,我希望通过将堆栈视图高度约束增加添加视图的数量来维护堆栈视图内的视图比率。我一直在阅读如何更新视图约束,但似乎无法使其工作。

self.stackView?.insertArrangedSubview(self.userErrorLabel, at: 2)
self.heightConstraint = self.stackView?.heightAnchor.constraint(equalToConstant: 140 + self.stackView?.bounds.height)
self.stackView?.addConstraints([self.heightConstraint!])
self.stackView?.setNeedsLayout()

任何建议都会非常有用!!

1 个答案:

答案 0 :(得分:0)

您使用的是XIB还是故事板?您可以将高度约束注册为Outlet到View / VC,然后您可以在那里编辑/增加高度。 假设您将高度约束注册为

@IBOutlet weak var stackViewHeight: NSLayoutConstraint!

你需要做的只是

let currentStackHeight = stackViewHeight.constant
stackViewHeight.constant = currentStackHeight + self.addedView.bounds.height

就这样,您不需要添加或删除任何约束