0

我如何使用 NSUndo 管理器添加或删除子视图,可能是视图控制器中的文本视图。我已经看到了许多文本视图文本撤消重做的示例。但是找不到如何使用 nsundomanager 从视图中添加或删除视图。任何人都可以帮帮我吗..

4

1 回答 1

0

我使用 NSUndoManager 从视图中删除子视图所做的是将子视图的“堆栈”保存在 NSMutableArray 中。当检测到摇动手势并调用 undoManager 进行撤消时,我检查是否[self.undoManager isUndoing],如果是这种情况,我调用从当前视图中从该数组中删除最后一个子视图的方法。

顺便说一句,要“重做”操作,您必须prepareWithInvocationTarget从正在撤消的方法再次调用,以便它知道如何处理重做操作,以防用户想要重做。为了管理重做,我保存了添加子视图的点,如果用户想要重做,我在同一个地方再次添加它。

于 2013-08-22T20:58:18.897 回答