以编程方式更改堆栈视图中容器的高度
Posted
技术标签:
【中文标题】以编程方式更改堆栈视图中容器的高度【英文标题】:Programatically chaniging the height of containers in a stack view 【发布时间】:2019-04-15 12:13:26 【问题描述】:我在垂直堆栈视图中有两个视图。我正在尝试制作条形图 - 底部视图是条形图,顶部视图是透明的。我需要这样做,以便对于图表上的每个条形,这两个视图都会改变大小,以便可以显示正确的条形。
我在代码中有以下约束来尝试实现这一点:
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])
我的垂直堆栈视图设置为按比例填充。
我在这里做错了什么?
【问题讨论】:
出了什么问题?没有应用约束吗? 【参考方案1】:首先
我建议使用ios Charts 而不是重新发明***
其次
如果您有兴趣,您可以详细了解他们是如何解决这个问题的,因为对我来说,堆栈视图似乎不是一个好的选择
但是如果你使用的是UIStackView
您可以隐藏UIStackView
中的视图,它会自动隐藏。
view.isHidden = true
【讨论】:
【参考方案2】:您需要将垂直堆栈视图设置为填充,然后通常以相对于视图的乘数形式设置高度(这里 2nd view 的高度是相对于 1st view 设置的。 并且您可以隐藏 UIStackView 内的视图,它会自动隐藏
view.isHidden = true
【讨论】:
对不起,我没有得到你以上是关于以编程方式更改堆栈视图中容器的高度的主要内容,如果未能解决你的问题,请参考以下文章
当父容器视图约束以编程方式更改时,UINavigationController 子视图不调整大小
如何以编程方式更改 UICollectionView 页脚视图高度