cocoa 类似于界面生成器的 nstableview

cocoa nstableview like interface builder

我想做的基本上是使用像第 4 步中那样的小部件 here:

这是 Interface Builder 右侧的实用程序面板/XCode,您可以在其中使用各种检查器工具,例如'Attributes Inspector',等等

Cocoa/Interface Builder 中是否存在这样的小部件?看起来它有点基于 NSTableView,但我不知道如何使用标准 NSTableView 执行 grouping-based 功能(即 top-right 上的 'Show' 按钮,或者组之间的水平线分隔符),我也不太明白我将如何做 headers(跨越多个 table-rows)。顶部的图像可能是(视觉上)工具栏和(实际上)tab-bar 之间的混合,但它看起来像是集成在整体中。

稍微搜索了一下,确实看到了thispost,它指的是一个non-existing项目。我找到了副本,但它们似乎在最新版本的 Interface Builder 中不起作用(我使用的是 XCode 6.1.1)。它们似乎也是 pane/window-based,这是 Interface Builder 的旧版本。

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

很可能有一个选项卡视图可以切换各种检查器,但是,如果是的话,它就是 "tabless" 并且进行切换的实际按钮是自定义的。只有一行按钮,控制器根据按下的按钮切换选项卡视图的选项卡。如果您选择了正确的按钮样式,设置 模板 图像且没有标题,并设置它们的状态,使它们像单选按钮一样工作(一次只有一个 "on"),它们应该正确绘制(选中的会发出蓝色光)。

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

您还可以使用堆栈视图实现这些部分及其 header。苹果实际上有这件事的示例代码: InfoBarStackView.