gpt4 book ai didi

ios - UIStackView - 三个排列的具有相对宽度的 subview

转载 作者:行者123 更新时间:2023-11-28 06:48:17 27 4
gpt4 key购买 nike

我有一个外部 UIStackView,将其命名为 outerStackView,具有以下属性:

outerStackView.axis = .Horizontal
outerStackView.distribution = .Fill
outerStackView.spacing = 10

outerStackView 具有三个排列的 subview (将它们视为 3 列),它们也恰好是 UIStackViews。

我想将三个排列的 subview (列)的宽度设置为 outerStackView 宽度的相对乘数。

所以我尝试这样做:

leftColumnStackView = UIStackView()
middleColumnStackView = UIStackView()
rightColumnStackView = UIStackView()

outerStackView.addArrangedSubview(leftColumnStackView)
outerStackView.addArrangedSubview(middleColumnStackView)
outerStackView.addArrangedSubview(rightColumnStackView)

leftColumnStackView.widthAnchor.constraintEqualToAnchor(outerStackView.widthAnchor, multiplier: 0.4, constant: 0).active = true
middleColumnStackView.widthAnchor.constraintEqualToAnchor(outerStackView.widthAnchor, multiplier: 0.4, constant: 0).active = true
rightColumnStackView.widthAnchor.constraintEqualToAnchor(outerStackView.widthAnchor, multiplier: 0.2, constant: 0).active = true

这会引发一堆自动布局错误。

如何使这三列 UIStackView 相对于它们的父 View 具有相对宽度?

最佳答案

我通过给左列和中间列相对宽度(考虑到它们之间的间距)来解决这个问题,而右列只是填充空间。

leftColumnStackView.widthAnchor.constraintEqualToAnchor(outerStackView.widthAnchor, multiplier: 0.38, constant: -20).active = true
middleColumnStackView.widthAnchor.constraintEqualToAnchor(outerStackView.widthAnchor, multiplier: 0.38, constant: -20).active = true

关于ios - UIStackView - 三个排列的具有相对宽度的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35636777/

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