gpt4 book ai didi

cocoa - 在 Cocoa 应用程序中禁用撤消/重做

转载 作者:行者123 更新时间:2023-12-03 16:11:58 24 4
gpt4 key购买 nike

我已经以标准方式(NSUndoManager)实现了撤消/重做,但无法弄清楚当我的应用程序处于特定状态时如何禁用撤消/重做。

用户在我的应用程序中绘制内容,当他们绘制的内容上传时,我禁用 UI,当然不希望用户能够撤消/重做。

我使用 NSView 的撤消管理器,所以我想一种方法可能是让该 View 放弃第一响应者。还有别的办法吗?

最佳答案

如果 View 是第一响应者,则可以实现validateMenuItem:根据您当前的状态禁用或启用菜单项的协议(protocol)。

 - (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
SEL action = menuItem.action;

if (action == @selector(undo:) ||
action == @selector(redo:)) {
return !uploadingImage;
}
return YES;
}

关于cocoa - 在 Cocoa 应用程序中禁用撤消/重做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15073973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com