【问题标题】:Fixed Height Constraints for UIStackview's subviewsUIStackview 子视图的固定高度约束
【发布时间】:2017-09-27 04:58:09
【问题描述】:

我有一个UIScrollView,它有一个UIStackView 子视图,称之为stack。我想在stack 中有一个动态数量的子视图,但是这些子视图会有不同的高度。我怎样才能做到这一点?请注意,我试图回避 Storyboard..

let scrollView = UIScrollView(frame: CGRect(x: 20, y: 20, width: view.frame.width - 20, height: view.frame.height - 20))
scrollView.center = view.center
self.view.addSubview(scrollView)


let stack = UIStackView(frame: CGRect(x: 20, y: 20, width: scrollView.frame.width - 40, height: scrollView.frame.height - 40))
stack.axis = .vertical
stack.alignment = .fill
stack.distribution = .fillProportionally
stack.spacing = 20
scrollView.addSubview(stack)

let label1 = UILabel()
label1.text = "This is going to be very, very long. I don't know how to make this guy longer. Words and words and more words. // Do any additional setup after loading the view, typically from a nib."
label1.numberOfLines = 0
label1.sizeToFit()

// Add more labels similar to label1

我尝试为我的每个UILabel 子视图添加一个约束,但它并没有真正起作用..

let x = NSLayoutConstraint(item: label1, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: label1.frame.size.height)
label1.addConstraint(x)

请帮忙!谢谢。

【问题讨论】:

    标签: ios uiscrollview uikit nslayoutconstraint uistackview


    【解决方案1】:

    尝试改变堆栈视图的分布模式:

    stack.distribution = .fillProportionally
    

    (我不确定这是否正确,如果不是尝试所有不同的分发模式:))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 2014-06-25
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多