首页 > 解决方案 > Interface Builder 和 NSTableView 顶部约束

问题描述

我有以下 UI 定义:

用户界面层次结构

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

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

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

标签: macosuser-interfaceautolayoutinterface-buildernstableview

解决方案


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

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

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

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

在此处输入图像描述


推荐阅读