我使用以下方法在我的Cocoa应用程序中加载自定义文件导入窗口
[NSApp runModalForWindow:window];
窗口显示很好,并且是模态的。
但是,应用程序主菜单仍处于活动状态(例如“文件”菜单和 items),这使得模态显示变得多余。
我搜索了这个,搜索了stackoverflow和cocoa-dev,并搜索了Apple文档,但找不到关闭菜单或至少选择菜单项的方法。
有人建议使用这个:
NSModalSession session = [NSApp beginModalSessionForWindow:window];
[NSApp runModalSession];
但这似乎也不起作用。同样,窗口以模态方式显示,但主菜单仍处于活动状态。
有人建议我在显示模态窗口时关闭主菜单(灰显菜单项)吗?
有没有办法在菜单级一次性完成此操作,还是需要关闭每个菜单项?
我必须在某处忽略这一点,因为这种菜单行为在Cocoa应用程序中很常见。
由于
达伦。
答案 0 :(得分:3)
我需要实现(在AppDelegate中)以下方法:
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem
返回NO将禁用引用的菜单项。
现在一切正常。