使用自动布局,如何在不强制NSSplitView宽度的情况下将子视图置于NSSplitView中心?

时间:2015-06-13 19:45:50

标签: cocoa appkit nssplitview

我有两个NSView中包含内容的NSSplitView。左侧NSView有2个约束 - Equal WidthsEqual Heights。正确的NSView有一些简单的东西,例如NSTextField,它通过约束Center X AlignmentCenter Y Alighment来居中。当我调整窗口和/或NSSplitView分割器的大小时,这就是我希望的样子:

enter image description here

这就是发生的事情:

enter image description here

我尝试过大量的配置更改,我尝试过使用NSSplitViewController,只是将NSSplitView放入NSViewController,以编程方式调整更多参数,但我没有运气。每当调整窗口大小时,左视图总是占用多余的空间。分隔符也是如此(它可以调整大小,但放开鼠标按钮会使其向后快照)。看来我在这里缺少一些基本的东西。

1 个答案:

答案 0 :(得分:5)

文本字段的内容拥抱优先级可能高于拆分视图项的保持优先级。修复它,视图应该按照您期望的方式工作。

此外,如果在调整视图大小时,左视图正在调整窗口大小,而右视图保持相同大小,则表明左视图的保持优先级可能高于右视图。您应该使您想要保持相同大小的一侧具有更高的保持优先级。

那就是说,我不确定你对你在子视图上设置的约束是什么意思。 “左NSView有2个约束 - Equal WidthsEqual Heights。”你在这里是什么意思?它的宽度等于什么?它的高度等于什么?你的意思是它有纵横比约束吗?坦率地说,我无法想到这些类型的约束对分割视图中的视图有意义。

相关问题