【发布时间】:2013-10-31 20:46:30
【问题描述】:
在我的基于文档的应用程序中,我使用NSUndoManager 实现了重做和撤消行为。
我想根据canRedo 和canUndo 自动启用或禁用撤消/重做NSToolbarItems(在默认菜单中)(我的NSToolbarItems 没有成像基于,所以不调用- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem)
1) 我尝试将启用值绑定到self(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo
不起作用,因为 canUndo 和 canRedo 不是基于变量的,而只是方法
2) 我确实在我的 WC canUndo 和 canRedo 中添加了两个属性,我在 name:NSUndoManagerDidUndoChangeNotification 和 name:NSUndoManagerDidRedoChangeNotification 上修改了它们,但是当我只是向 NSUndoManager 添加操作时它们不会被调用,所以我必须执行第一个重做或撤消操作,以获得所需的行为
【问题讨论】:
标签: cocoa nsundomanager nstoolbar nstoolbaritem