【问题标题】:Minimum window size recomandation最小窗口大小建议
【发布时间】:2026-01-22 10:40:01
【问题描述】:

我正在开发 OS-X 应用程序,我需要有关窗口大小的建议。

在有人跳出来宣布这个问题重复之前,我已经阅读了这篇文章:Window Size for Mac application,但这并没有帮助我解决我的问题。

我的问题如下。我使用 NSTableViews 来显示一些数据。但是在某些窗口中,由于列数,我在 NSTableView 中获得了水平滚动条。

更糟糕的是,某些列中的数据不完全可见,您必须调整列的大小以显示该单元格/列中的完整文本。

我正在考虑增加初始窗口大小,但我无法决定增加多少。

我当前的窗口大小是 1024 x 768。用户可以使应用全屏,窗口可以调整为大于此大小,但不能更小。

任何帮助将不胜感激。

问候,约翰

【问题讨论】:

    标签: objective-c macos window


    【解决方案1】:

    对于表格,您应该为每列设置最小宽度。选择文档大纲中的每一列并查看大小检查器。您还应该查看属性检查器上的调整大小弹出窗口。

    同样,您应该查看表格视图本身的属性检查器上的列大小弹出窗口。

    关于窗口大小,如果您还没有使用自动布局,我建议您使用。对所有视图应用适当的约束,最终将它们(直接或间接)与窗口的内容视图相关联。然后,不要为窗口本身设置最小尺寸。让约束强加一个有效的最小(甚至可能是最大)大小。

    不过,诀窍在于,并非所有视图都具有固有的最小尺寸。例如,表格视图本身可能不会比其列的最小宽度之和更窄,但它位于滚动视图中。允许滚动视图比表格视图更窄,从而导致水平滚动。因此,您可能需要为滚动视图添加显式的最小宽度约束。

    【讨论】:

      【解决方案2】:

      如果您为行内的文本设置约束,您可能会得到一些水平滚动。但是如果你将 UITableView 等应用元素的约束设置为应用窗口的边框,你可能会解决这个问题。

      【讨论】: