1

我有一个NSOutlineView绑定到一个NSTreeController. 大纲视图的项目(多选)可以通过拖放重新排序。

我想添加对撤消/重做重新排序大纲视图的支持。有人可以指出一些示例代码来展示如何做到这一点吗?

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

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

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

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

4

0 回答 0