我想在我的Mac应用程序中添加撤销/重做功能。该应用程序适用于便笺,当用户删除便条时,我想添加一个“撤销”操作。
这很好,“撤消删除笔记”菜单在用户删除便条后变为活动,但是在使用“撤消删除注释”命令后,就会有一个"Redo Delete Note“菜单成为活动的。
当前,当我单击"Redo Delete Note“时没有发生任何事情,因为我没有注册一个操作。我不希望用户能够在撤销/重做堆栈中意外删除便条。
是否可以在没有“重做”操作的情况下添加“撤消”操作?
发布于 2014-05-22 11:32:49
一般情况下不是这样。这样做将违反平台标准撤销/重做机制的隐式契约。你希望你注册的东西是对称的。如果用户删除便笺,则可用的撤消操作将使便笺返回。如果用户选择撤消,则重做操作将再次“删除备注”。如果用户通过撤销或重做“意外”删除一个注释,这不应该重要,因为他们应该总是能够通过执行逆操作来获得它,对吗?
别想太多了。
https://stackoverflow.com/questions/23786514
复制相似问题