gpt4 book ai didi

ios - 如何在IOS的UIStackView中设置权重

转载 作者:可可西里 更新时间:2023-11-01 03:09:22 32 4
gpt4 key购买 nike

UIStackView 类似于 Android LinearLayout 但我不知道如何为 subview 设置权​​重。

假设我有一个垂直的 UIStackView 和 3 个 UIImageView。我想为 UIImageView 连续设置权重 3、6、1。我该怎么做?

layout diagram

最佳答案

UIStackView 没有相同的权重概念。它可以使用 subview 的 intrinsicContentSize 作为权重,但设置特定的 intrinsicContentSize 通常需要创建一个子类,它也用于其他情况(不同于 android:layout_weight 属性你很熟悉,它只被 LinearLayout 使用。

但由于 UIStackView 通过对其排列的 subview 应用约束来工作,您可以通过在 subview 的高度之间设置额外的约束来获得权重的效果。 (UIStackView 旨在让您添加自己的约束以通过这种方式调整布局。)

在您的例子中,您希望将顶 View 的高度限制为底 View 高度的 3 倍,并且您希望将中间 View 的高度限制为底 View 高度的 6 倍。

您可以通过创建等高约束,然后编辑约束的乘数,在 Storyboard中设置比例高度约束。

在代码中,您可以这样做(在 iOS 9.0 或更高版本上):

NSLayoutConstraint.activateConstraints([
top.heightAnchor.constraintEqualToAnchor(bottom.heightAnchor, multiplier: 3),
middle.heightAnchor.constraintEqualToAnchor(bottom.heightAnchor, multiplier: 6),
])

关于ios - 如何在IOS的UIStackView中设置权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34160752/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com