Interface Builder 和 NSTableView 顶部约束

Interface Builder and NSTableView top constraint

我有以下 UI 定义:

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

那么,我的问题是这个 +8 约束来自哪里?我假设它必须来自包含 table 的 NSScrollView,因为里面的所有组件似乎都有 Translate Masks Into Constraints.

如何正确使用自动布局来实现我想要的?

我对 MacOS 应用程序的处理不多,但这可能会解决您的问题...

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

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

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