如何合并NSOutlineView中的单元格

时间:2013-03-29 12:05:27

标签: cocoa nsoutlineview

我有一个包含多列的NSOutlineView。 如何合并组节点的单元格,以便为节点标题使用额外的空间? 例如,我有“名称”,“高度”,“重量”等子节点的列,但我需要组节点说“贝弗利山高scholl的足球队”这太长,不适合一列所以我需要在组节点中扩展该列的框架。

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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