1
我想爲我的Mac應用程序添加撤銷/重做功能。該應用程序與筆記一起工作,我想爲用戶刪除筆記時添加一個「撤消」操作。NSUndoManager:禁用「重做」以進行破壞性操作
這很好,在用戶刪除一個音符後,「撤消刪除音符」菜單變爲活動狀態,但在使用「撤消刪除音符」命令後,有一個「重做刪除音符」菜單變爲活動狀態。
目前沒有任何反應,當我點擊「恢復刪除注意事項」,因爲我沒有註冊的動作。我不希望用戶能夠通過撤銷/重做堆棧意外刪除一個筆記。
是否可以在沒有「重做」操作的情況下添加「撤消」操作?
我不知道你是否可以,但我知道這是你真的不想做的事情。良好的應用程序設計中有一個概念稱爲*寬恕*。當某人刪除某些東西,改變他們的想法,然後發現他們沒有能力撤銷刪除時,這並不是很寬容。同時,您需要弄清楚爲什麼沒有相應的撤消操作,並且您可能會自定義您的撤消菜單項字符串,所以它不那麼令人困惑。 「還原注意」,也許? – trudyscousin
NSUndoManager將維護撤銷和重做堆棧。當您使用「重做刪除」時,「撤消刪除」將會重新出現。所以不可逆事故不存在問題。 – mikeD