Interface Builder和NSTableView的主要约束条件

问题描述

我具有以下UI定义:

UI Hierarchy

我想为组件定义约束,但是每当我尝试添加约束以便有边框滚动视图-Table View.top是topStackView.bottom + 20时,都会遇到约束冲突。有一个隐藏的约束,其中“边框滚动视图-表View.t”必须为 topStackView.bottom + 8。

所以,我的问题是这个+8约束来自哪里?我认为它必须来自包含表的NSScrollView,因为其中的所有组件似乎都有将蒙版转换为约束的条件。

如何正确使用自动版式以实现我想要的?

解决方法

我对MacOS应用程序还没有做很多事情,但这可能会解决您的问题...

删除您要添加的Bordered Scroll View - Table View.top is topStackView.bottom + 20

您已将它们嵌入到垂直堆栈视图中-mainStackView-因此请将该堆栈视图上的Spacing设置为20

在Storyboard / IB中可能看起来不正确,但是结果应该是正确的(我在顶部有两个按钮,但这没什么关系):

enter image description here