撤消对NSOutlineView / NSTreeController的移动节点的支持

时间:2014-12-08 16:25:22

标签: cocoa nsoutlineview nstreecontroller

我有NSOutlineView绑定到NSTreeController。轮廓视图的项目(多个选择)可以通过拖动和重新排序来重新排序。下降。

我想添加对撤消/重做重新排序大纲视图的支持。有人可以指出一些示例代码来说明如何执行此操作吗?

我很难重建移动的树节点的索引路径,因为当我撤消更改时,树控制器的结构会发生变化,因此,其余节点的索引路径会重新进入他们原来的位置。

我使用此代码最初移动节点:

[self.treeController moveNodes:draggedTreeNodes toIndexPath:insertIndexPath];

请注意moveNodes:仅将单个索引路径作为参数。如果选择包含多个节点,我无法一次性移回所有内容,但必须逐个重播更改(遇到上述无效索引路径的问题)。

0 个答案:

没有答案