【问题标题】:Can the parent have less columns than child in NSOutlineView?在 NSOutlineView 中,父级的列可以少于子级吗?
【发布时间】:2013-11-02 02:40:07
【问题描述】:

我正在尝试使用 NSOutlineView 在我的应用程序中实现大纲视图,但在我的应用程序中,外层(父级)应该只有一列(品牌),内层(子级)应该有 5-6 列(大小,类型、图像等)。

有没有可能实现,如果可以怎么做?!

【问题讨论】:

    标签: objective-c macos cocoa nsoutlineview


    【解决方案1】:

    是的,您可以在NSOutlineView(或NSTableView)中为“组行”设置“全角”单元格。

    如果您使用基于单元格的大纲视图,请在您的 NSOutlineViewDelegate 中实现 outlineView:dataCellForTableColumn:item: 。在使用任何现有列调用此方法之前,将使用 nil 列调用它。对于相应的行,返回原型NSCell,并在您的其他数据源/委托方法中同样返回nil“列”的相应信息。您只需要为此创建一个通用的NSTextFieldCell;除非您愿意,否则无需自己设计样式。更多信息在documentation 或查看一些Apple sample code

    如果您使用基于视图的大纲视图,请实现等效的 outlineView:viewForTableColumn:item:。不幸的是,documentation 目前几乎不存在,但corresponding NSTableViewDelegate method 已记录在案,您可以查看this 代码示例。

    全角项目的外观将根据为大纲视图配置的突出显示样式 (selectionHighlightStyle) 而有所不同;根据您的描述,听起来您想要“常规”而不是“源列表”行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-20
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多