StackView 不拉伸,拥抱内容

StackView not stretching, hugging content

我遇到了 UIStackView 的问题,它不会延伸到超级视图边界。 我已经向 stackView 添加了约束,以用左右边距填充它的超级视图。但它没有这样做,而是将其调整为内容大小。我已将 distribution 设置为 .equalSpacing,将 axis 设置为 .horizontal

在只有 stackView 的测试项目中它工作正常(尽管事实上在我的实际项目中我是在代码中和在 IB 的测试项目中这样做)。 这里内容视图的约束被正确地忽略并且 stackView 采用了 superview

的 space

我尝试更改 contentView 和 stackView 的 contentHugging,但没有任何改变。非常感谢任何帮助:)

我自己发现的,问题是 stackView 位于 UIScrollView 内部,一旦 stackView 扩展了屏幕边界,它就可以滚动。由于向 scrollView 的子视图添加约束确实与 scrollView 的 contentSize 而非框架相关,因此无法正确解析约束。

我最终在 didMoveToSuperview()

中向超级视图添加了约束

希望这对某人有所帮助:)