如何在Cocoa应用程序中将窗口绑定在一起,以便它们一起调整大小?

时间:2014-07-31 08:33:52

标签: objective-c macos cocoa autolayout

我在过去几年开发iOS之后尝试了我的第一个Cocoa应用程序。我一直在"谷歌搜索"现在好一阵子,但我想我没有使用正确的术语来找到我要找的东西。

在许多应用程序OSX应用程序中,我看到这个小点(或者有时像XCode一样没有点),它可以让你抓住"一个隐形的"线?当它们全部绑定在一起时,它将一次调整两个或三个窗口的大小。这是怎么做到的?我想在我正在构建的当前应用程序中实现它。我附上了一张图片来澄清我在说什么。

提前致谢

enter image description here

2 个答案:

答案 0 :(得分:0)

这些不是窗户。这些是NSSplitView的子视图

答案 1 :(得分:0)

它是NSSplitView。该行是 divider ,可以有3种不同的样式:

NSSplitViewDividerStyleThick = 1,
NSSplitViewDividerStyleThin = 2,
NSSplitViewDividerStylePaneSplitter = 3,

(问题图片中的风格是 Pane Splitter 风格)。

可以使用Interface Builder轻松添加内容视图,也可以使用[NSView addSubview:]方法(NSSplitView派生自NSView)以编程方式添加内容视图。

您需要通过其委托(NSSplitViewDelegate)来控制拆分器行为。

另请注意,问题中的图片似乎在另一个拆分视图中显示拆分视图,这是布局视图的一种相当常见的方式。