在我基于文档的应用程序中,我使用NSUndoManager
实现了重做和撤消行为。
我想根据NSToolbarItems
和canRedo
(我的canUndo
自动启用或停用撤消/重做NSToolbarItems
(如默认菜单中所示) - (BOOL)validateToolbarItem:(NSToolbarItem *)theItem
不是基于图像的,因此不会调用self(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo
1)我尝试将启用值绑定到name:NSUndoManagerDidUndoChangeNotification
不起作用,因为canUndo和canRedo不是基于变量的,而只是方法
2)我确实在我的WC canUndo和canRedo中添加了两个属性,我在name:NSUndoManagerDidRedoChangeNotification
和{{1}}进行了修改,但是当我向NSUndoManager添加动作时,它们不会被调用,所以我必须做第一次重做或撤消动作,以获得所需的行为
答案 0 :(得分:1)
密钥也在注册
NSUndoManagerCheckpointNotification
“撤消管理员打开或关闭新的撤消组”
当将操作添加到撤消管理器
时调用此方法