以编程方式更改堆栈视图中容器的高度

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

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

我在代码中有以下约束来尝试实现此目的:

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

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

我在这做错了什么?

ios swift xcode constraints uistackview
2个回答
1
投票

首先

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

其次

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

但如果你使用UIStackView

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

view.isHidden = true 

0
投票

enter image description here

您需要将垂直堆栈视图设置为填充,然后通常相对于视图以乘数形式设置高度(此处第2个视图的高度设置为相对于第1个视图。并且您可以隐藏UIStackView内的视图并自动隐藏

view.isHidden = true
© www.soinside.com 2019 - 2024. All rights reserved.