2

我有一个包含多列的 NSOutlineView。如何合并组节点的单元格,以便我将额外的空间用于节点标题?例如,我有子节点的“名称”、“身高”、“体重”等列,但我需要组节点说“比佛利山庄高中足球队”,这太长而无法放入一列,所以我需要在组节点中展开该列的框架。

我试图找到答案,但我能找到的只是 NSTableView 的解决方案,它们涉及子类化,NSOutlineView 类引用明确表示你不应该这样做。接下来想到的是使用类别来重新定义 NSOutlineView 方法,但在网上阅读了一些内容后再次决定反对它。

任何帮助是极大的赞赏。

4

2 回答 2

0

我已按照http://www.mactech.com/articles/mactech/Vol.18/18.11/1811TableTechniques/index.html上的说明进行操作,并且成功了。没有显示单元格的问题是由空的 drawRect 实现引起的。我将其删除并留给 NSTextfieldCell 处理。

于 2013-04-03T11:49:43.223 回答
0

如果您只需要为选择节点(通常是根节点)执行此操作,那么请尝试NSTextFieldCell在方法中为 nil 列返回一个单元格(例如,在您的情况下)-[NSOutlineViewDelegate outlineView:dataCellForTableColumn:item:]- 在其讨论和文档中阅读更多信息。然后,您可能还希望覆盖[NSOutlineViewDelegate – outlineView:isGroupItem:]这些节点以返回 YES 以获得更有趣的外观。

于 2013-04-07T16:33:12.553 回答