【发布时间】:2016-06-13 05:02:40
【问题描述】:
我正在尝试实现嵌套堆栈视图,其中一个堆栈视图位于另一个堆栈视图中。我的代码基于here。我当前的代码在下面。
@IBOutlet weak var verticalStackView: UIStackView!
let blueImageView = UIImageView()
blueImageView.backgroundColor = UIColor.blueColor()
blueImageView.image = UIImage(named: "just some image")
blueImageView.snp_makeConstraints { (make) in
make.height.width.equalTo(34)
}
let greenImageView = UIImageView()
greenImageView.backgroundColor = UIColor.greenColor()
greenImageView.image = UIImage(named: "just some image")
// This is just from SnapKit
greenImageView.snp_makeConstraints { (make) in
make.height.width.equalTo(34)
}
let stackView = UIStackView()
stackView.axis = UILayoutConstraintAxis.Horizontal
stackView.distribution = UIStackViewDistribution.EqualSpacing
stackView.alignment = UIStackViewAlignment.Center
stackView.spacing = 16.0
stackView.addArrangedSubview(blueImageView)
stackView.addArrangedSubview(greenImageView)
stackView.translatesAutoresizingMaskIntoConstraints = false;
// This is just from SnapKit
verticalStackView.snp_makeConstraints { (make) in
make.height.equalTo(70)
}
verticalStackView.addSubview(stackView)
当我尝试运行时,它看起来是这样的。
如您所见,子堆栈视图 stackView 在层次结构中位于父堆栈视图 (verticalStackView) 之下。但是定位是关闭的。
我对 Swift、AutoLayout 和 StackViews 还是很陌生。任何人都可以帮助指出我在这里缺少什么?
谢谢!
【问题讨论】:
标签: swift autolayout uistackview