2013-01-18 94 views
3

我的一本电子书解释了如何添加新菜单项。那么,这不是很难弄清楚。了解如何将IBAction与新的菜单项相关联并不难。但是这本书和谷歌搜索结果没有解释如何禁用菜单项。更具体地说,我想根据当前窗口的显示位置来禁用首选项和退出。如果应用程序当前显示“首选项”窗口,我想禁用这些菜单项。禁用菜单项目

enter image description here

假设我有一个IBOutlet名为preferencesMenu,然后我有

[preferencesMenu setEnabled:NO]; 

,不会在禁用该菜单项。那么如何禁用特定的菜单项呢?

谢谢您的建议。

汤姆

+2

您不需要禁用首菜单项时Preferences窗口已经可见。 Quit菜单项不应该被禁用,句点。 – duskwuff

回答

1

只要设定目标为零。我会做这份工作。

[preferencesMenu setTarget:nil]; 
+0

谢谢。不幸的是,它似乎没有完成这项工作。 –

+0

并在界面生成器中选中“自动启用项目”? –

+0

是的,该复选框已启用。 –

7

NSMenuItems自动禁用自己仅当既目标和选择器分别nilNULL

[preferencesMenu setTarget:nil]; 
[preferencesMenu setAction:NULL]; 

哪一个快速测试显示导致这个:

enter image description here