Col*_*ett 7 cocoa-touch nsundomanager
在我的iOS应用程序的界面中,我有显式的撤销和重做按钮(摇动到撤消是一个非常重量级的动作,在这种情况下,撤消操作非常频繁).通常情况下,我会使用KVO观察NSUndoManager的canUndo和canRedo键路径,并在通知进入时启用和禁用按钮.不幸的是,NSUndoManager似乎不符合这些关键路径的KVO - 或者至少,我我没有看到通知方面的任何内容.
所以我的问题是:我如何让这个工作?我只是对KVO做错了吗?(我已经检查了两倍和三倍,但总有那种可能性).有没有其他方法可以做到这一点,我没想到?(我只是在每次runloop旋转时检查-canUndo的值,但这对我来说有一种糟糕的代码味道).
(请注意,很可能NSUndoManager在iOS和Mac OS X上有所不同,所以我不认为"它适用于Mac"将是一个有用的答案,在这种情况下)
Ash*_*ark 13
注册NSUndoManager的NSUndoManagerDidUndoChangeNotification和朋友,以检查何时创建新的撤消组并从堆栈弹出并适当更新按钮的状态.
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |