Seb*_*ian 5 cocoa undo nsundomanager
我已经实现了撤销/重做标准方式(NSUndoManager),但无法弄清楚当我的应用程序处于特定状态时如何禁用撤消/重做.
用户在我的应用程序中绘制内容,当他们绘制的内容正在上传时,我禁用了UI,当然也不希望用户能够撤消/重做.
我使用NSView的撤销管理器,所以我猜一种方法可能就是让该视图辞职第一响应者.还有另外一种方法吗?
您可以完成撤消和重做
- (void) removeAllActions;
Run Code Online (Sandbox Code Playgroud)
或删除特定目标的操作
- (void) removeAllActionsWithTarget: (id) target;
Run Code Online (Sandbox Code Playgroud)
如果您只是想暂时禁用任何操作,保持撤消堆栈不变,只需使用 NSMenuValidationProtocol 禁用撤消/重做菜单项
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |