gpt4 book ai didi

ios - 具有动态标签宽度的堆栈 View 分布

转载 作者:行者123 更新时间:2023-12-01 16:06:28 27 4
gpt4 key购买 nike

我有一个 UIStackView然而,subViews的第一个 View 是 UILabel它没有相应地调整它的大小。

我的代码如下;

private let stackView: UIStackView = {
let view = UIStackView()
view.translatesAutoresizingMaskIntoConstraints = false
view.axis = .horizontal
view.distribution = .fillProportionally
view.alignment = .trailing
view.spacing = 8
return view
}()

当然,我还要加上我的 subViewsinit如下;
    stackView.addArrangedSubview(currentBidLabel)
stackView.addArrangedSubview(seperator)
stackView.addArrangedSubview(adCreatedAtLabel)
stackView.addArrangedSubview(moreButton)

我目前的结果如下图所示;

illustration

我正在寻找的结果如下;
  • 红色 = 动态标签宽度(与蓝色相同)
  • 绿色 = 固定宽度
  • 蓝色 = 填充剩余空间
  • 青色 = 固定宽度
  • 最佳答案

    您应该设置所需的 ContentHuggingPriority对于每个标签。以下设置将符合您的需求

    redLabel.setContentHuggingPriority(. required, for: .horizontal)
    greenLabel.setContentHuggingPriority(.required, for: .horizontal)
    blueLabel.setContentHuggingPriority(.defaultLow, for: .horizontal)
    cyanLabel.setContentHuggingPriority(.required, for: .horizontal)
  • defaultLow意思是把剩下的填满。
  • required意味着首先适合。

  • 而其他值应该介于这两者之间。

    关于ios - 具有动态标签宽度的堆栈 View 分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59421197/

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