【问题标题】:Fix width of element in UIStackView修复 UIStackView 中元素的宽度
【发布时间】:2016-08-09 02:46:14
【问题描述】:

我以编程方式创建 UIStackViews 并将它们添加到在 Storyboard 中创建的父 UIStackView。子堆栈视图是水平的,带有 2 个标签。我需要修复第二个UILabel 的宽度,并使第一个UILabel 填充其余空间。

现在我有了这个:

我想要这个:

我用于生成子堆栈视图的代码:

@IBOutlet weak var parentStackView: UIStackView!

func addStackViewsToParentStackView(params: [String: Float]) {
    for (name, value) in params {
        let parameterNameLabel = UILabel() // first label
        parameterNameLabel.text = name
        let parameterValueLabel = UILabel() // second label
        parameterValueLabel.text = value.description
        parameterValueLabel.frame.size.width = 80.0 // I've tried to fix width, but it does't help

        let childStackView = UIStackView(arrangedSubviews: [parameterNameLabel, parameterValueLabel])
        childStackView.axis = .Horizontal
        childStackView.distribution = .FillProportionally
        childStackView.alignment = .Fill
        childStackView.spacing = 5
        childStackView.translatesAutoresizingMaskIntoConstraints = true
        parentStackView.addArrangedSubview(childStackView)
    }
}

感谢您的帮助!

【问题讨论】:

    标签: ios swift uistackview


    【解决方案1】:

    只需在标签上设置宽度限制。

    parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多