使用NSOutlineView呈现数据树?

时间:2009-10-06 02:46:04

标签: objective-c cocoa user-interface

我有一个数据树,我想以自上而下的方式呈现给用户,就像你看到解析树一样。从概念上讲,数据与NSOutlineView所呈现的内容有很多共同点:层次结构,树节点可以扩展和重新排序等等。我试图弄清楚我是如何操作或子类的NSOutlineView(或NSTableColumn?)以获得我想要的树节点的可视化布局,但我很难开始。有没有人有任何关于这个任务的好方法的提示?我应该只是继承NSControl并从那里开始吗?

编辑:我想它归结为我正在尝试影响轮廓绘制的方式,因此您可以获得类似于{{{{{{ 3}}。我的主要问题是我不确定如何控制数据单元何时何地绘制其内容。最初我曾认为NSTableColumn负责绘制自己,但看起来我错了。那么,NSOutlineView的{​​{1}}方法完成了单元格的所有布局吗?

1 个答案:

答案 0 :(得分:4)

  

我正在试图找出如何操作或子类化NSOutlineView(或NSTableColumn?)以获得我想要的树节点的可视化布局,但是我很难开始。

NSTableColumn是表视图中的一列(或大纲视图,这是一种表视图)。

  

我应该只是继承NSControl并从那里开始吗?

那将是艰难的方式。

编辑:哦,您的意思是将数据呈现为树而不是大纲。是的,绝对要为此制作自定义控件或视图。

  

有没有人有关于这项任务的好方法的任何提示?

将拥有模型的控制器对象指定为大纲视图的数据源,并使其符合the NSOutlineViewDataSource protocol