如何在Cocoa / IB中实现类似于Mail / iTunes / Finder / etc的侧边栏?

时间:2008-10-27 21:49:05

标签: cocoa interface-builder

我认为标题几乎都说明了......我正在寻求实现类似于上述所有程序中使用的标准OS X侧边栏的界面,我想知道是否有人有任何想法最简单的方法,即左手选择窗格使用的视图。真的,我认为我甚至不需要苹果应用程序中看到的分层组件,我只需要一个好看的平面选项列表来确定右侧窗格中显示的内容。

明显的开始是垂直拆分布局视图,但除此之外,我不完全确定去哪里。只有一列或类似的集合视图?

2 个答案:

答案 0 :(得分:28)

我做了一些使用类似设置的应用程序。

我通常使用NSSplitView,左窗格中有一列NSTableView。不要忘记禁用标题,并使其显示为“源视图”样式。

如果您想要显示三角形,那么您将需要使用NSOutlineView而不是NSTableView,但至少在第一次使用时,我会坚持使用简单的NSTableView。

我也使用的模式是使NSTableView比NSSplitView略短,并在底部有按钮(添加,删除等)。我通常围绕Core Data构建程序,因此很容易将它们连接到创建/删除对象的方法,然后将NSTableView绑定到对象数组。

答案 1 :(得分:19)

Leopard中添加了对此类内容的直接支持。它被称为“源列表”。

请参阅AppKit release notes。在文档中搜索NSTableViewSelectionHighlightStyleSourceList。

或者,拖出表格视图并在Interface Builder中选择Highlight: Source List