gpt4 book ai didi

objective-c - 显示模态窗口时禁用(灰色)主菜单?

转载 作者:搜寻专家 更新时间:2023-10-30 20:12:26 25 4
gpt4 key购买 nike

我使用以下方法在我的 Cocoa 应用程序中加载自定义文件导入窗口:

[NSApp runModalForWindow:window];

窗口显示得很好,并且是模态的。

但是,应用程序主菜单仍然处于事件状态(例如文件菜单和项目),这使得模态显示变得多余。

我用谷歌搜索了这个,搜索了 stackoverflow 和 cocoa-dev,并搜索了 Apple 文档,但找不到关闭菜单的方法,或者至少找不到选定的菜单项。

有人建议使用这个:

NSModalSession session = [NSApp beginModalSessionForWindow:window];
[NSApp runModalSession];

但这似乎也不起作用。同样,窗口以模态方式显示,但主菜单仍处于事件状态。

谁能建议我在显示模态窗口时如何关闭主菜单(灰色菜单项)?

有没有一种方法可以在菜单级别一次完成此操作,或者我是否需要关闭每个单独的菜单项?

我一定是漏掉了重点,因为这种菜单行为在 Cocoa 应用程序中很常见。

谢谢

达伦。

最佳答案

我需要(在 AppDelegate 中)实现以下方法:

- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem

返回 NO 会禁用引用的菜单项。

现在一切正常。

关于objective-c - 显示模态窗口时禁用(灰色)主菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4791890/

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