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

问题描述 投票:0回答:1

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

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()

任何建议都会非常有帮助!

ios swift constraints
1个回答
0
投票

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

@IBOutlet weak var stackViewHeight: NSLayoutConstraint!

所有你需要做的只是

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

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

© www.soinside.com 2019 - 2024. All rights reserved.