NSView 阻止 window/content 视图水平调整大小

NSView preventing window/content view from resizing horizontally

我的主视图中有一个 NSView,它阻止我的 window/main 视图正确调整大小。即使我全屏显示,我的主视图也无法填满屏幕(右侧有一些黑色 space)。我知道原因是那个特定的视图(或内部的东西),因为当我删除它时我的应用程序运行正常。什么会导致 NSView "control" 增长其 window?

以下是该视图的限制条件:

更新: 我发现一个 NSTextField 里面的拥抱比例设置为 750。我把它降低到 250,现在它确实增长了,但我无法将其缩小 "some" 大小。我称它为 "some" 大小,因为它没有什么特别之处:它比我的本机全屏宽度小一点,而且与我的 IB 宽度不同。

一般来说,优先级高于 NSLayoutPriorityWindowSizeStayPut (500) 的约束可以强制 window 的大小。这包括由内在内容大小生成的隐式约束(如果视图具有此类约束),它具有针对内容拥抱和压缩阻力设置的优先级。

因此,如果您有一个文本字段,其水平内容拥抱优先级为 750,并且有一个约束链将其前缘和后缘连接到 window 的内容视图的边缘(或,类似地,将文本字段的宽度与内容视图的宽度相关联),那么 window 将无法增长到足以 "stretch" 该文本字段。

同样,如果文本字段的水平压缩阻力很高,window将无法收缩到必须压缩文本字段的程度。