iOS/Swift: 当其中一项变大时动态调整 UIStackView 的大小

iOS/Swift: Dynamically size UIStackView when one of its items gets larger

我在垂直 UIStackView 中有两个项目:一个 UILabel 和一个 UITableView。当在运行时将动态数量的 UITableViewCell 添加到 UITableView 时,UIStackView 不会变大。

是否有增加 UIStackView 大小的通用方法?

确保您在堆栈视图上没有高度约束的底部约束。您应该只需要左、右和上约束。

您应该在 stackView 的子视图上调用 sizeToFit()layoutIfNeeded()。像往常一样约束 UIStackView,并像往常一样约束子视图。

此外,您需要将其设置为按比例填充,它会调整大小以适应新内容。

你需要按比例填写,它会根据你的代码工作

我在 iOS 12 上有这个,而它在 iOS 13 上运行良好。 刚刚设置:

stackView.distribution = .fillProportionally

已修复 :)