2009-10-06 80 views
1

我有一个数据树,我想以自顶向下的方式呈现给用户,就像你看到的解析树的方式一样。从概念上讲,这些数据与NSOutlineView会有什么共同之处:层次结构,树节点可以扩展和重新排序等。我试图弄清楚我可能如何操作或子类NSOutlineView(或NSTableColumn ?)以获得我想要的树节点的可视化布局,但我很难开始。有没有人有任何提示去完成这项任务?我应该子类NSControl并从那里开始?用NSOutlineView呈现数据树?

编辑:我猜它归结为是我在试图影响的轮廓绘制方式,这样不是标准的介绍,你得到的东西看起来像this。我的主要问题是,我不知道如何控制数据单元何时何地绘制其内容。本来我以为NSTableColumn是负责绘制自己,但似乎我错了。那么所有由NSOutlineViewdrawRect:方法完成的单元布局呢?

+1

这可能是值得去更多的细节,你想做什么NSOutlineView不做。 – 2009-10-06 02:49:45

+0

我同意提摩太。 NSOutlineView已经是一种非常理想的方式来呈现树形格式的分层数据。 – 2009-10-06 02:52:58

回答

4

我想弄清楚我如何能够操纵或为了得到我想要的树节点的可视布局继承NSOutlineView(或NSTableColumn?),但我有一个困难时期入门。

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

我应该只是子类NSControl,并从那里开始?

这将是艰难的方式。

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

有没有人有任何提示,以完成此任务的好方法?

任命拥有你的模型作为大纲视图的数据源中的控制器对象,并使其符合the NSOutlineViewDataSource protocol

+0

该死的,困难的方法:)虽然我猜测它比试图让NSOutlineView做一些它不想做的事更容易。 – 2009-10-06 04:57:12