我在.xib文件中添加了UIStackView并设置了约束(我只设置了4个-顶部,底部,前导,尾随,我没有设置高度约束。您可以在屏幕截图中看到它们),接下来将其出口放到.swift文件,接下来以编程方式添加了堆栈项。但是,当我尝试获取堆栈大小时,收到了错误的值。
for item in items {
//...
//create itemView
//...
myStack.addArrangedSubview(itemView)
myStack.translatesAutoresizingMaskIntoConstraints = false
}
let maxYRegardingSuperView = myStack.frame.maxY
如果我尝试获得边界尺寸myStack.bounds.height
,则显然也会得到错误的尺寸。我在做什么错?
此行
let maxYRegardingSuperView = myStack.frame.maxY
很早,您需要将其放入layoutSubviews
/ viewDidLayoutSubviews