令人惊讶的是这不是开箱即用的,因为这似乎是堆栈视图的一个重要用例.我有一个UITableViewCell子类,它将一个UIStackView添加到contentView.我正在向堆栈视图中添加标签,tableView(_cellForRowAtIndexPath:)并且tableview设置为使用动态行高,但它似乎不起作用,至少在Xcode 7.3中.我还认为隐藏在堆栈视图中的已安排的子视图是可动画的,但这似乎也被打破了.
有关如何使其正常工作的任何想法?
class StackCell : UITableViewCell {
enum VisualFormat: String {
case HorizontalStackViewFormat = "H:|[stackView]|"
case VerticalStackViewFormat = "V:|[stackView(>=44)]|"
}
var hasSetupConstraints = false
lazy var stackView : UIStackView! = {
let stack = UIStackView()
stack.axis = .Vertical
stack.distribution = .FillProportionally
stack.alignment = .Fill
stack.spacing = 3.0
stack.translatesAutoresizingMaskIntoConstraints = false
return stack
}()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
contentView.addSubview(stackView)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented") …Run Code Online (Sandbox Code Playgroud)