【问题标题】:How would one implement a sidebar similar to Mail/iTunes/Finder/etc in Cocoa/IB?如何在 Cocoa/IB 中实现类似于 Mail/iTunes/Finder/etc 的侧边栏?
【发布时间】:2008-10-28 08:36:17
【问题描述】:

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

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

【问题讨论】:

    标签: cocoa interface-builder


    【解决方案1】:

    我已经完成了一些使用类似设置的应用程序。

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 您还需要实现 outlineView:isGroupItem: 委托方法,以便为具有全大写标题标题的行返回 YES。
      猜你喜欢
      • 1970-01-01
      • 2017-10-13
      • 2010-11-18
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      相关资源
      最近更新 更多