我的应用程序菜单出现问题。我希望菜单中的一些项目显示为灰色,具体取决于某些BOOL
个变量。
此外,我希望我的一些菜单项根据某些BOOL
变量获取名称,从而根据菜单项名称执行不同的功能。这可能吗?使用Interface Builder可以将菜单项链接到一个IBAction方法。请告诉我怎么做。
由于
答案 0 :(得分:4)
您实现-validateMenuItem :,它用于确定是应启用还是禁用菜单项。在弹出菜单之前,会调用每个菜单项。
答案 1 :(得分:1)
是。您可以以编程方式设置菜单项的启用状态及其标题;请参阅NSMenuItem文档。在获取标题格式时,请务必使用NSLocalizedString
。
答案 2 :(得分:0)
对于第二个问题;您不需要使用Interface Builder来连接菜单项的目标/操作。
您可以使用以下代码:
NSMenuItem *menuItem; // Set this to your menu item.
// Set the target to an instance of a class which contains the action method.
[menuItem setTarget:targetClass];
// Set the action to the (IBAction) method to call.
[menuItem setAction:NSSelectorFromString(@"actionMethod")];