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

如何在IOS中的UIStackView中设置权重,第1张

概述UIStackView类似于 Android LinearLayout,但我无法弄清楚如何为子视图设置权​​重. 假设我有一个垂直的UIStackView和3个UIImageViews.我想为UIImageViews连续设置权重3,6,1.我怎么做? UIStackView没有相同的权重概念.它可以使用子视图的intrinsicContentSize作为权重,但设置特定的intrinsicCont UIStackVIEw类似于 Android linearLayout,但我无法弄清楚如何为子视图设置权​​重.

假设我有一个垂直的UIStackVIEw和3个UIImageVIEws.我想为UIImageVIEws连续设置权重3,6,1.我怎么做?

解决方法 UIStackVIEw没有相同的权重概念.它可以使用子视图的intrinsicContentSize作为权重,但设置特定的intrinsicContentSize通常需要创建一个子类,并且它也在其他情况下使用(与您熟悉的androID:layout_weight属性不同,它仅由linearLayout使用).

但由于UIStackVIEw通过对其排列的子视图应用约束来工作,因此您可以通过在子视图的高度之间设置其他约束来获得权重的效果. (UIStackVIEw旨在让您添加自己的约束来以这种方式调整布局.)

在您的情况下,您希望将顶视图的高度约束为底视图高度的3倍,并且您希望将中间视图的高度约束为底视图高度的6倍.

您可以通过创建等宽约束,然后编辑约束的乘数来在故事板中设置比例高度约束.

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

NSLayoutConstraint.activateConstraints([    top.heightAnchor.constraintEqualToAnchor(bottom.heightAnchor,multiplIEr: 3),mIDdle.heightAnchor.constraintEqualToAnchor(bottom.heightAnchor,multiplIEr: 6),])
总结

以上是内存溢出为你收集整理的如何在IOS中的UIStackView中设置权重全部内容,希望文章能够帮你解决如何在IOS中的UIStackView中设置权重所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存