类似的问题:如何根据使用 Autolayout 布局的子视图的大小调整父视图的大小
我有一个 NSStackView 加载DisclosureViewController
s (NSViewController 子类),就像在 Apple Example InfoBarStackView中一样。
那些可以扩展和缩回任意高度的视图。我希望包含 的父视图NSStackView
根据NSStackView
. 在有效的 Apple 示例中。
然而,不幸的是,Apple 正在调整 NSWindow 的大小,而我正在使用CCNStatusItem
( CCNStatusItem Github ),这是一个附加到 Apple 菜单栏中状态项的视图。该窗口NSStackView
在加载时会根据内容调整大小,但在内容更改时不会调整大小。
当我展开一个部分时,内容会溢出并在视图的底部边缘被剪裁。
我经历了所有的限制并试图准确地重现它,但无法让它发挥作用。在 Apple 示例中,他们以编程方式添加所有内容,而我在 Interface Builder 中添加了 NSStackView。
我的问题是:我在 Interface Builder 中有哪些约束(具有哪些优先级),以便父视图(窗口)根据堆栈视图的内容动态调整大小?我是否必须调用视图的某些方法才能使其工作?
如果我错过了提供一些必要的信息,请告诉我。
更新
接受的答案是正确的方法。这是结果。我的 CCNStatusItem 的分叉版本可以在https://github.com/julianvogels/CCNStatusItem.git找到