【问题标题】: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])

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

我在这里做错了什么?

【问题讨论】:

  • 出了什么问题?没有应用约束吗?

标签: ios swift xcode constraints uistackview


【解决方案1】:

首先

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

其次

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

但是如果你使用的是UIStackView

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

view.isHidden = true 

【讨论】:

    【解决方案2】:

    您需要将垂直堆栈视图设置为填充,然后通常以相对于视图的乘数形式设置高度(这里 2nd view 的高度是相对于 1st view 设置的。 并且您可以隐藏 UIStackView 内的视图,它会自动隐藏

    view.isHidden = true
    

    【讨论】:

    • 对不起,我没有得到你
    猜你喜欢
    • 2013-08-08
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多