macOS NSStackView内容未填充可用空间

时间:2017-01-15 21:48:48

标签: macos cocoa

我使用NSStackView动态地(通过代码添加)显示其他NSView,到目前为止一切正常,但子视图很小。

他们试图尽可能小,无论约束如何,如果我在IB中调整视图大小,它们可以正确缩放

The Header with the hide button does not fill the available space

我确实在stackview和所有子视图

上将translatesAutoresizingMaskIntoConstraints属性设置为false

2 个答案:

答案 0 :(得分:4)

嗯,没有更多信息很难确定,但最可能的原因是标签的水平内容拥抱优先级高于堆栈视图的水平拥抱优先级。 (注意:前者是所有视图的一般属性,而后者是特定于堆栈视图的属性。)

您还需要在堆栈视图及其超级视图之间设置约束,以使堆栈视图拉伸整个宽度。例如,前导和尾随空间约束。

答案 1 :(得分:0)

这已经很老了,但是在现代,我发现如果将对齐方式设置为宽度,一切都会神奇地起作用。

stackView.orientation = .vertical
stackView.alignment = .width
stackView.addArrangedSubview(nowFullWidthSubview)