cocoa nstableview like interface builder

时间:2015-03-29 13:47:38

标签: xcode cocoa interface-builder

我想做的主要是使用像第4步here中的小部件:

(I would post the image here, but I don't have enough "reputation".)

这是Interface Builder / XCode右侧的实用工具面板,您可以在其中使用各种Inspector工具,例如: '属性Inspector'等

Cocoa / Interface Builder中是否存在这样的小部件?它看起来有点基于NSTableView,但我不知道如何使用标准的NSTableView(即显示'按钮)执行基于分组的功能在右上角,或组之间的水平线分隔符),我也不太清楚我将如何做标题(跨越多个表行)。顶部的图像可能是(视觉上)工具栏和(实际上)标签栏之间的混合,但它看起来像是整合在一起。

我搜索了一下,确实看到this帖子,这是指一个不存在的项目。我找到了副本,但它们似乎不适用于最新版本的Interface Builder(我使用的是XCode 6.1.1)。它们似乎也是基于窗格/窗口的,它是Interface Builder的旧版本。

1 个答案:

答案 0 :(得分:2)

没有一个内置控件可以做到这一点。它是多个控件的组合,包括自定义视图。同样,有多种方法可以实现它。

很可能有一个标签视图来切换各种检查器,但是,如果是这样,它是“tabless”,并且实际切换的实际按钮是自定义的。只有一排按钮,控制器根据按下的按钮切换标签视图的标签。如果你选择了正确的按钮样式,设置一个模板图像而没有标题,并设置它们的状态,使它们像单选按钮一样(一次只有一个“打开”),它们应该正确绘制(选中的一个会发蓝光。)

我认为可以想象这些部分可以使用基于视图的大纲视图来实现。它将是一个单独的列,单元格将是您正在看到的复杂视图。节标题将是根级别的行,而节将是这些行的子节点,这是级别层次结构中更深的级别。因此,通过折叠和展开节标题行可以实现隐藏和显示节。甚至还有一个特殊的视图标识符NSOutlineViewShowHideButtonKeyNSOutlineView用于从NIB(或委托)中查找显示/隐藏按钮视图。

您还可以使用堆栈视图实现这些部分及其标题。 Apple实际上有这样的示例代码: InfoBarStackView