5

我的一本电子书解释了如何添加新的菜单项。嗯,这不是很难弄清楚。也不难弄清楚如何将 IBAction 链接到新菜单项。但是这本书和谷歌搜索结果并没有解释如何禁用一个菜单项。更具体地说,我想禁用首选项和退出,具体取决于窗口当前出现的位置。如果应用程序当前显示首选项窗口,我想禁用这些菜单项。

在此处输入图像描述

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

[preferencesMenu setEnabled:NO];

,这不会禁用有问题的菜单项。那么如何禁用特定的菜单项呢?

感谢您的意见。

汤姆

4

2 回答 2

8

NSMenuItem 仅当它们的目标和选择器分别为nil和时才会自动禁用NULL

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

快速测试揭示了这一点:

在此处输入图像描述

于 2013-01-18T02:58:16.603 回答
1

只需将目标设置为零。我会做的。

[preferencesMenu setTarget:nil];
于 2013-01-18T01:12:33.660 回答