首页 > 解决方案 > 以编程方式更改堆栈视图中容器的高度

问题描述

我在垂直堆栈视图中有两个视图。我正在尝试制作条形图 - 底部视图是条形图,顶部视图是透明的。我需要这样做,以便对于图表上的每个条形,这两个视图都会改变大小,以便可以显示正确的条形。

我在代码中有以下约束来尝试实现这一点:

let heightConstraint = NSLayoutConstraint(item: topBars[0], attribute: 
NSLayoutConstraint.Attribute.height, relatedBy: 
NSLayoutConstraint.Relation.equal, toItem: bottomBars[0], attribute: NSLayoutConstraint.Attribute.height, multiplier: 2, constant: 0)
view.addConstraints([heightConstraint])

我的垂直堆栈视图设置为按比例填充。

我在这里做错了什么?

标签: iosswiftxcodeconstraintsuistackview

解决方案


首先

我建议使用iOS 图表而不是重新发明轮子

第二

如果您有兴趣,您可以详细了解他们是如何解决这个问题的,因为对我来说,堆栈视图似乎不是一个好的选择

但是如果你正在使用UIStackView

您可以隐藏视图,UIStackView它会自动隐藏。

view.isHidden = true 

推荐阅读