首页 > 解决方案 > Mac应用程序中同一窗口内不同模式的单独撤消管理器堆栈

问题描述

我开发了一个 mac 应用程序,其中不同的模式在不同的时间点处于活动状态,并且必须为每种模式单独实现撤消管理器。但是根 viewController 是相同的,只有顶视图的撤消堆栈应该处于活动状态。

例如:我有一个名为 homeViewController(VC1) 的应用程序,并且我在 popoverViewController(VC2) 中有不同的模式 - 当 VC2 处于活动状态并cmd+z按下时,只有 VC2 操作应该被撤消并且 VC1 撤消堆栈不应该受到影响。

然而,现在虽然我已经使用 VC2 注册,一旦 VC2 undoStack 为空 VC1 undoStack 被访问和执行。

为了更好地理解 -->演示 ios 应用程序视频文章)。mac 应用程序中的类似实现没有按预期运行。我希望同样适用于mac app。可能吗?

我想知道 NestedUndoGroup 或 undoGrouping 是否可以以任何方式帮助我!

谁能帮我如何为每个视图控制器设置单独的撤消堆栈?

任何帮助将不胜感激。在此先感谢!

标签: swiftmacoscocoaundo-redonsundomanager

解决方案


推荐阅读